【发布时间】:2010-04-15 14:32:25
【问题描述】:
.NET 4.0 旨在与 3.5 并行运行,并且不会运行 3.5 应用程序,这让我担心必须指示我的用户下载 .NET 3.5 而不仅仅是“最新版本”。
我在博客中读到,如果尚未安装 3.5,4.0 安装程序也会安装它,但我现在无法对其进行测试,有没有人尝试过这个或从受信任的来源获得答案?
【问题讨论】:
标签: installation .net-4.0
.NET 4.0 旨在与 3.5 并行运行,并且不会运行 3.5 应用程序,这让我担心必须指示我的用户下载 .NET 3.5 而不仅仅是“最新版本”。
我在博客中读到,如果尚未安装 3.5,4.0 安装程序也会安装它,但我现在无法对其进行测试,有没有人尝试过这个或从受信任的来源获得答案?
【问题讨论】:
标签: installation .net-4.0
不,.NET 4.0 安装程序只会安装版本 4。如果没有安装其他版本的框架,它将运行针对 CLR 版本 2 的应用程序(如 3.5 应用程序)。当然,您应该测试这个场景以确保版本 4 的更改不会产生意外的副作用。为此,请为您的应用创建或编辑 .exe.config 文件:
<configuration>
<startup>
<supportedRuntime version="v4.0.30319"/>
</startup>
</configuration>
请注意,执行此操作时不能使用 VS2008 调试器。
【讨论】:
我能够在仅 .NET 4.0 的盒子中对其进行测试,并且它不会开箱即用(找不到运行时版本错误),但您的回答让我搜索了那些配置文件,我发现一种使其在可用时在 3.5 上运行但回退到 4.0 的方法。这是代码,如果其他人有同样的问题:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="false">
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
</startup>
</configuration>
【讨论】: