2016-05-11 1 views
0

У меня есть приложение для Windows, которое отлично работает в Windows 7, но при открытии в Windows 10 файлы изображений с использованием ResourceManager не отображаются. Приложение использует .Net 3.5 framework. Ниже приведен фрагмент кода:Изображения Winform (ResourceManager) не отображаются в Windows 10

static readonly System.Resources.ResourceManager rm = new System.Resources.ResourceManager("ImageResources", Assembly.GetExecutingAssembly()); 

rm.GetObject("ImageName"); 

Ниже ошибка:

Could not find any resources appropriate for the specified culture or the neutral culture. Make sure was correctly embedded or linked into assembly at compile time, or that all the satellite assemblies required are loadable and fully signed. System.Resources.MissingManifestResourceException:

ли из-за какой-то несовместимости или Windows 10 каким-то образом ограничивая ResourceManager класс, чтобы использовать все эти образы?

+0

Вы уверены, что изображения были скопированы правильно? –

+0

Такая же установка устанавливается на Windows 7, отлично работает. При установке в Windows 10 изображения не отображаются. – FaizanRabbani

+0

Проверьте, какая платформа .NET установлена ​​в Windows 10. –

ответ

0

Этом выпуск был в конечном итоге разрешен путем добавления CultureInfo.CurrentCulture в rm.GetObject параметра метода, т.е.

rm.GetObject("ImageName", CultureInfo.CurrentCulture); 
1

Попробуйте проверить значение Environment.Version (с некоторым MessageBox, например) на целевой машине. Если вы получаете 4.0, вам необходимо изменить конфигурационный файл, как было предложено доктором Стихом. Если у вас нет файла конфигурации создайте его, как описано здесь: How to: Add an Application Configuration File to a C# Project

И изменить его содержание на что-то вроде этого:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<startup> 
    <supportedRuntime version="v2.0.50727" /> 
</startup> 
</configuration> 

выполнения версии вы можете получить на supportedRuntime Element page

+0

Это связано с несовместимостью рамки .net? ResourceManager не может правильно загрузить из-за этого? – FaizanRabbani

+0

Я не могу быть уверен на 100%, но если вы проверите Environment.Version на целевой машине и получите v4.0 (если вы добавите в свой код сообщение, отображающее значение Environment.Version), то вы можете быть уверены, что это вызывает совместимости версий .net –

Смежные вопросы