【发布时间】:2010-04-07 12:53:20
【问题描述】:
在近期安装 .NET Framework 4 时,我想知道这个产品是否会取代我之前安装的所有 .net 框架(即 1.1、2.0、3、3.5)。
如果是,我可以全部卸载吗?
【问题讨论】:
标签: .net
在近期安装 .NET Framework 4 时,我想知道这个产品是否会取代我之前安装的所有 .net 框架(即 1.1、2.0、3、3.5)。
如果是,我可以全部卸载吗?
【问题讨论】:
标签: .net
不,它们可以并存。就像以前的版本一样。 事实上,4.0 使用完全不同的目录来存储它的程序集。
卸载将阻止您使用旧程序。然而,可以使用 4.0 运行时运行 2.0+ 软件,在应用程序配置文件中有一些 extra configuration。然而,这并不能保证有效,因为有一些细微的变化可能会破坏一些(可以说是编码错误的)软件。
更新:有一个额外的属性会影响这个 (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 制作的最新更高版本 1.x 库版本(Microsoft .NET Framework 1.1 和 SP1 更新包)。
要运行使用 2.0、3.0 和 3.5 版制作的 .NET 应用程序,您只需安装由 Microsoft 制作的最新更高版本 3.x 库版本(Microsoft .NET Framework 3.5 SP1)。
要运行使用 4.0、4.5、4.5.1 和 4.5.2 版本制作的 .NET 应用程序,您只需安装由 Microsoft 制作的最新更高版本的 4.x 库版本(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 Frameworks 并且您可以运行任何 .NET 应用程序,而无需安装其他单独的包构建,例如 Microsoft .NET Framework 2.0、3.0、4.0 等,因为上面提到的包中已经包含。
【讨论】: