.NET Framework 4是否会取代其以前的所有版本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

在不久的将来安装.NET Framework 4时,我想知道这个产品是否会替换我以前安装的所有.NET框架(即1.1,2.0,3,3.5)。

如果是,我可以卸载它们吗?

提问于
用户回答回答于

不,他们可以和彼此并存。就像以前的版本一样。实际上,4.0使用完全不同的目录来存储它的程序集。

卸载将阻止使用较旧的程序。然而,可以使用4.0运行时运行2.0+软件,并在应用程序配置文件中进行一些额外的配置。但这并不能保证能够正常工作,因为有一些微妙的变化可能会破坏一些(可以说是编码严重不足的)软件。

有一个额外的属性会影响this(useLegacyV2RuntimeActivationPolicy),尽管我不完全确定它的作用。它来自Bart de Smet的演示文稿,在原始发布时我无法访问它:

<!-- Compiled for 2.0; run against 4.0 -->
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy=“true”>
    <supportedRuntime version=“v2.0.50727”/>
    <supportedRuntime version=“v4.0”/>
  </startup>
</configuration>
用户回答回答于

根据我自己的经验,以下面的方式你应该继续:

要运行版本为1.0和1.1的.NET应用程序,只需安装由Microsoft(Microsoft .NET Framework 1.1和SP1更新软件包)生成的最新更高版本的1.x库。

要运行使用版本2.0,3.0和3.5所做的.NET应用程序,您只需安装由Microsoft(Microsoft .NET Framework 3.5 SP1)生成的最新更高版本的3.x库版本。

要运行版本为4.0,4.5,4.5.1和4.5.2的.NET应用程序,您只需安装由Microsoft(Microsoft .NET Framework 4.5.2,目前是最新的库构建版本对于任何4.x)。

因此,目前,只需在系统中安装这3个软件包(Microsoft .NET Framework 1.1,Microsoft .NET Framework 3.5 SP1和Microsoft .NET Framework 4.5.2)以获取所有当前版本和旧版本.NET框架,可以运行任何.NET应用程序,并且不需要安装其他分离的包构建,如Microsoft .NET Framework 2.0,3.0,4.0等,因为已经包含在上面提到的包中。

扫码关注云+社区