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

26

我已经安装了.NET 2.0运行时,然后我又安装了.NET 4.0运行时,所以我两个都有。当我运行一个.NET应用程序时,是否有一种方法可以强制使用哪个运行时?

编辑/澄清: 我的意思是不考虑应用程序是如何构建的。我认为.NET 4.0运行时可以运行5年前针对2.0运行时(oldprogram.exe)编译的.NET程序。现在我正在一台同时拥有两个运行时的机器上,这两个运行时都可能处理oldprogram.exe。哪个运行时被选择?我能影响哪个运行时被选择吗?

3个回答

30

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

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

6
看一下:配置程序集绑定重定向 默认情况下,应用程序使用与编译应用程序所使用的运行时版本一起发布的.NET Framework程序集集合。您可以在应用程序配置文件中的<assemblyBinding>元素上使用appliesTo属性来将程序集绑定引用重定向到.NET Framework程序集的特定版本。这个可选属性使用.NET Framework版本号来指示它适用于哪个版本。如果没有指定appliesTo属性,则<assemblyBinding>元素适用于所有版本的.NET Framework。

+1,如果程序已经构建,则这是正确的答案。 - Richard Berg

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接