Могут ли сборки .NET 2.0 работать под .NET 4.0? - PullRequest
5 голосов
/ 16 августа 2011

Я разработал решение .NET, состоящее из нескольких сборок, большинство из которых представляют собой небольшие вспомогательные сборки, предназначенные для версии 2.0 .NET Framework.Остальные сборки представляют собой веб-приложения MVC 3, которые обязательно должны предназначаться для версии 4.0 .NET Framework.Мое решение не имеет никаких других внешних зависимостей, кроме .NET и MVC Frameworks.

Мой вопрос заключается в следующем: когда я развертываю это решение для клиентов, нужно ли развертывать обе версии .NET Framework, или я могуЯ просто развернуть версию 4.0?Могут ли сборки .NET 2.0 работать под .NET 4.0?

Ответы [ 4 ]

7 голосов
/ 17 августа 2011

Да, зависимости, встроенные в сборку в сборках .NET 2.0, автоматически переводятся в их версию 4.0.Но он работает с версией тех сборок, на которых он никогда не тестировался.Они очень совместимы, но содержат несколько исправлений ошибок, ошибок, от которых вы можете неосознанно зависеть.Никто не может дать вам 100% гарантию.

Просто попробуйте.

3 голосов
/ 16 августа 2011

Вам нужна только последняя версия.Это совместимо сверху вниз.

1 голос
/ 16 августа 2011

Ответ - да, сборки, разработанные для .NET 2.0, будут правильно работать в .NET 4.0

.
0 голосов
/ 19 ноября 2015

Да и нет (по крайней мере, для .Net 4.5). Хотя он обратно совместим, по умолчанию запускается код в соответствующей версии .Net, как указано здесь :

.NET Framework 4.5 и его точечные выпуски обратно совместимы с приложениями, которые были созданы с более ранними версиями .NET Framework. Другими словами, приложения и компоненты, созданные в предыдущих версиях, будут работать без изменений в .NET Framework 4.5. Однако по умолчанию приложения запускаются в версии общеязыковой среды выполнения, для которой они были разработаны, поэтому вам, возможно, придется предоставить файл конфигурации, чтобы приложение могло работать на .NET Framework 4.5. Дополнительные сведения см. В разделе «Совместимость версий для приложений» ранее в этой статье.

После добавления файла MyLovely.exe.config все работало нормально:

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