我安装了.NET 2.0运行时,然后我安装了.NET 4.0运行时,所以我有两个。当我运行.NET应用程序时,有没有办法强制使用哪个运行时?
编辑/澄清:我的意思是没有关于如何构建应用程序的问题。我假设.NET 4.0运行时可以运行5年前编译的针对2.0运行时(oldprogram.exe)的.NET程序。所以现在我在一台同时具有两个运行时的计算机上,其中任何一个都可以处理oldprogram.exe。选择了哪个运行时?我可以影响选择哪个运行时吗?
答案 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