是否可以将更高版本的.NET Framework用于针对较低版本的项目?

时间:2013-10-25 21:02:01

标签: .net visual-studio-2010 backwards-compatibility .net-framework-version

如果Visual Studio解决方案包含针对.NET框架的不同版本的项目,那么应该只使用更高版本的.NET框架来分发应用程序吗?

2 个答案:

答案 0 :(得分:2)

  

如果Visual Studio解决方案包含针对不同版本.NET Framework的项目,那么应用程序是否可以使用更高版本的.NET Framework进行分发?

总的来说,是的。将(通常)使用应用程序的框架版本。

唯一的例外是,如果您使用COM - 使用COM,则可以同时加载两个版本的公共语言runtimed,这可能需要在目标系统上同时使用这两个版本。

但是,如果它是一个纯.NET /托管应用程序,将使用可执行文件的CLR版本,它应该可以正常工作。

答案 1 :(得分:1)

答案是,这取决于。

只要您的应用仅使用新版本中没有“重大更改”的常用功能,那么一般来说这是可能的......

.NET框架的每个版本都会列出“Breaking Changes”,其中列出了自上一版本破坏兼容性以来发生更改的内容。

另一个潜在问题是该框架的某些版本进行“就地”升级。例如,如果你有一个针对.net 4.0的应用程序,并且你在同一个盒子上安装.net 4.5,即使它已经有4.0,那么它会将某些框架组件升级到4.5,例如ASP.NET和WPF。

这意味着即使是面向4.0的应用也会在4.5框架程序集上运行。