我开发了一个.NET解决方案,它由几个程序集组成,其中大多数都是针对.NET Framework 2.0版本的小帮助程序集。其余的程序集是MVC 3 Web应用程序,它必须以.NET Framework 4.0版为目标。除了.NET和MVC框架之外,我的解决方案没有其他外部依赖项。
我的问题如下:当我将此解决方案部署到客户时,是否必须部署两个版本的.NET Framework,或者我可以部署4.0版本? .NET 2.0程序集可以在.NET 4.0下运行吗?
答案 0 :(得分:7)
是的,嵌入在.NET 2.0程序集上的程序集中的依赖项会自动转换为其4.0版本。但它运行的是从未测试过的那些程序集的版本。它们高度兼容,但包含多个错误修复,您可能在不知不觉中依赖于错误。没有人可以给你100%的保证。
试试吧。
答案 1 :(得分:3)
您只需要最新版本。它是向下兼容的。
答案 2 :(得分:1)
答案是肯定的,为.NET 2.0开发的程序集将在.NET 4.0下正确运行
答案 3 :(得分:0)
是和否(至少对于.Net 4.5)。虽然它是向后兼容的,但默认设置是在关联的.Net版本上运行代码here:
.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>