Понизьте версию приложения с.net 4.0 до 3.5

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

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

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

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

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

3 ответа

Решение

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

Просто добавьте useLegacyV2RuntimeActivationPolicy="true" пометьте свой appConfig в разделе запуска. Это заставляет среду выполнения.NET 4 обрабатывать более старые сборки смешанного режима.

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

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

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

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

Другие вопросы по тегам