Ошибка при извлечении из ресурсов C#

Есть код на C# который записывает ресурсы, а затем извлекает их:

        string resxFile = @".\PhotoResources.resx";

        FileStream byteStream = new FileStream("AppIcon.jpg", FileMode.Open);
        Byte[] bytes = new Byte[(int)byteStream.Length];
        byteStream.Read(bytes, 0, (int)byteStream.Length);

        using (ResourceWriter rw = new ResourceWriter(resxFile))
        {
            rw.AddResource("AppIcon", byteStream);
        }

        using (ResXResourceSet resSet = new ResXResourceSet(resxFile))
        {
            object obj = resSet.GetObject("AppIcon.jpg");
            byte[] file = ObjectToByteArray(obj);
            File.WriteAllBytes(@"NewAppIcon.jpg", file);
        }

    public static byte[] ObjectToByteArray(Object obj)
    {
        BinaryFormatter bf = new BinaryFormatter();
        using (var ms = new MemoryStream())
        {
            bf.Serialize(ms, obj);
            return ms.ToArray();
        }
    }

Ошибка возникает в этой строке:

using (ResXResourceSet resSet = new ResXResourceSet(resxFile))

Текст ошибки:

System.ArgumentException: "Разбор файла ResX Недопустимый знак для указанной кодировки., строка 1, позиция 1. невозможен."

Путь, в котором находится проект и следовательно сам исполняемый файл без русских символов и пробелов, собственно из-за чего может быть ошибка? Код собран из разных примеров из документации Microsoft.


Ответы (0 шт):