【问题标题】:Force an application to run under specific .NET runtime version?强制应用程序在特定的 .NET 运行时版本下运行?
【发布时间】:2010-01-12 01:28:12
【问题描述】:

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

编辑/澄清:我的意思是不涉及应用程序的构建方式。我假设 .NET 4.0 运行时可以运行 5 年前编译的针对 2.0 运行时 (oldprogram.exe) 的 .NET 程序。所以现在我在一台具有两个运行时的机器上,其中任何一个可以处理 oldprogram.exe。选择哪个运行时?我可以影响选择哪个运行时吗?

【问题讨论】:

    标签: .net


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      看一看:Configuring Assembly Binding Redirection

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

      【讨论】:

      • +1,如果程序已经构建,这是正确的答案。
      【解决方案3】:

      以下是针对 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-20
        • 2022-12-20
        • 2022-11-10
        • 2021-03-31
        • 2014-04-06
        • 2010-12-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多