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

noc*_*ura 23 .net

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

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

Han*_*ant 29

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

<configuration>
   <startup>
      <supportedRuntime version="v2.0.50727"/>
   </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)


Rub*_*ias 6

看一下:配置程序集绑定重定向

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