强制应用程序在特定的.NET运行时版本下运行?

时间:2010-01-12 01:28:13

标签: .net

我安装了.NET 2.0运行时,然后我安装了.NET 4.0运行时,所以我有两个。当我运行.NET应用程序时,有没有办法强制使用哪个运行时?

编辑/澄清:我的意思是没有关于如何构建应用程序的问题。我假设.NET 4.0运行时可以运行5年前编译的针对2.0运行时(oldprogram.exe)的.NET程序。所以现在我在一台同时具有两个运行时的计算机上,其中任何一个都可以处理oldprogram.exe。选择了哪个运行时?我可以影响选择哪个运行时吗?

3 个答案:

答案 0 :(得分:29)

是的,使用.exe.config文件中的<supportedRuntime>元素。例如:

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

答案 1 :(得分:6)

看看:Configuring Assembly Binding Redirection

  

默认情况下,应用程序使用随用于编译应用程序的运行时版本一起提供的一组.NET Framework程序集。您可以使用应用程序配置文件中<assemblyBinding>元素上的applyTo属性将程序集绑定引用重定向到特定版本的.NET Framework程序集。此可选属性使用.NET Framework版本号来指示它应用于哪个版本。如果未指定applyTo属性,则<assemblyBinding>元素适用于所有版本的.NET Framework。

答案 2 :(得分:4)

以下是针对VS.NET项目的目标特定.NET Framework版本的MSDN参考列表:

How to: Target a Specific .NET Framework

Visual Studio 2010
How to: Target a Specific .NET Framework Version or Profile