Совместимость среды выполнения .NET 3.5 и среды выполнения .NET 4

Можно ли запустить приложение, построенное на .NET 3.5, с подключаемым модулем, созданным на .NET 4?


person Christian    schedule 06.07.2010    source источник


Ответы (3)


Вам нужно будет перестроить (не совсем верно, проверьте обновление) приложение .NET 3.5 для таргетинга на .NET 4.0, потому что по умолчанию оно запускается в среде выполнения .NET 2.0, которая затем не будет поддерживать подключаемый модуль.

Если на машине установлена ​​только платформа .NET 4.0, приложение не будет работать , если оно не будет перестроено специально для него.

Обновление:

Ну не надо переделывать в конце концов. Комментарий Криса заставил меня задуматься, и я только что протестировал консольное приложение, созданное для .NET 3.5. Вы можете просто указать в его файле конфигурации приложения следующий блок:

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

Если это присутствует в конфигурации, приложение будет использовать среду выполнения .NET 4.0.

person João Angelo    schedule 06.07.2010
comment
Не обязательно. Если это приложение asp.net, вы можете просто изменить пул приложений для выполнения в среде .net 4 и внести соответствующие изменения в файл web.config. Ни один из них не требует целенаправленной перестройки. Однако, если это winforms или подобное приложение, то да, требуется перестройка/повторное развертывание. - person NotMe; 06.07.2010
comment
@ Крис Лайвли, этого я не знал ... спасибо за информацию. - person João Angelo; 06.07.2010
comment
@Chris Lively, вы заставили меня задуматься, и если вы измените файл конфигурации вручную, вам не нужно перестраивать, я тестировал консольное приложение, но я думаю, что это должно быть то же самое и для winforms. - person João Angelo; 06.07.2010
comment
@João Angelo: Интересная находка. - person NotMe; 06.07.2010
comment
Спасибо за помощь! Однако использование предложенного элемента запуска в файле конфигурации моего приложения WinForms привело к его сбою при запуске. - person Christian; 07.07.2010
comment
@Christian, кажется, самым безопасным вариантом будет перестроить и перенастроить на .NET 4.0. - person João Angelo; 07.07.2010

Да нет. Чтобы запустить компонент 4.0, вы должны работать в контексте среды выполнения .NET 4.0. Однако ваше приложение версии 3.5 может работать в среде выполнения версии 4.0.

person Mitchel Sellers    schedule 06.07.2010

Пожалуйста, проверьте следующие ссылки для ответа.

Как сделать версии совместимыми

Версии DotNet

person Imran Khan Hunzai    schedule 02.02.2017