2010-07-05 2 views
10

Я разрабатываю приложение в VS2010 и компилирую его для .NET 4.0 в качестве целевой структуры. После включения библиотеки в моем приложении, я получаю следующее сообщение об ошибке при попытке компиляции:Снизьте приложение от .net 4.0 до 3.5

Смешанный режим сборки построен на версии «v1.1.4322» среды исполнения и не может быть загружен в среде выполнения 4.0 без дополнительную информацию о конфигурации.

Библиотека прекрасно работает под .NET 3.5, но когда я изменить свою целевую структуру для .NET 3.5, я получаю следующее сообщение об ошибке для всех моих .resx файлов:

Ошибка 1 Ссылка на объект не установить экземпляр объекта.

Я пробовал ctrl-h Version = 4.0.0.0 до версии 3.5.0.0, но это не работает. Есть ли что-нибудь, что я могу сделать другим, создающим новое приложение?

ответ

5

У вас должна быть возможность выполнить эту работу с помощью параметров конфигурации в app.Config.

Просто добавьте флаг useLegacyV2RuntimeActivationPolicy="true" в ваш appConfig in the startup section. Это приводит к тому, что среда выполнения .NET 4 обрабатывает старые сборки смешанного режима.

8

Откройте файл .resx с помощью редактора XML вместо редактора ресурсов и найдите System.Windows.Forms, Version=4.0.0.0. Должно быть два экземпляра этой строки. Замените 4.0.0.0 на 2.0.0.0 и сохраните файл. Теперь ваши ресурсы должны работать правильно.

Обратите внимание, что вы можете вернуться к .NET 4 и попытаться добавить следующие строки в App.config, чтобы старые сборки для работы на новой среды выполнения:

<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 
2

Откройте свойства проекта. Затем выберите Ресурсы. Удалите все изображения ресурсов и вставьте их снова. теперь скомпилируйте его. Ваш проект работает сейчас. :)

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