.NET Framework和版本兼容性

时间:2011-02-10 01:40:45

标签: .net frameworks .net-4.0 .net-2.0 backwards-compatibility

如果使用Framework 2.0构建.NET应用程序(表单/ Web),它是否可以与仅具有该框架4.0版的计算机一起使用?

例如,我安装了Win Server 2003的新副本,并使用.NET框架的v4.0更新了系统(然后系统只有1.0,1.1和4.0的.NET),但在安装SQL Server 2008 R2 Express时安装程序要求安装该框架的另一个v3.5 SP1。

2 个答案:

答案 0 :(得分:5)

是的,您的2.0应用程序将在具有4.0框架的计算机上运行。 dot net 4.0中存在向后兼容性。

有关详细信息,请查看此msdn article

MSDN说

  

然而,在实践中,这一点   兼容性可以打破   看似无关紧要的变化   .NET Framework和更改   编程技巧。例如,   .NET中的性能改进   框架4可以暴露种族   没有发生的情况   早期版本。同样,使用   .NET Framework的硬编码路径   集会,表现平等   与特定版本进行比较   .NET Framework,并获得   使用的私有字段的值   反射不向后兼容   实践。另外,每个版本   .NET Framework包含错误   修复和与安全相关的更改   这会影响兼容性   一些应用程序和组件。

但是,您需要在2.0应用程序配置文件中将supportedruntime定位到4.0。

答案 1 :(得分:4)

您需要在app.config中添加一个条目,以选择在CLRv4上运行。

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

(如果您不添加v2信息,它将在v4 CLR上运行!)