如何使用.Net Framework 3.5或4.5取决于哪些可用

ade*_*tum 7 .net c# .net-framework-version windows-8

我的应用程序使用.net 3.5,并在4.5下成功编译而没有任何修改,因此显然我的应用程序使用的库都存在于3.5和4.5中.但是,即使4.5可用,Windows 8也明确要求3.5.

在windows8上运行时,如何(以编程方式)使我的应用程序在windows7和4.5上运行时使用3.5?

PS:理想情况下我想避免使用app.config文件

Mat*_*nes 5

我唯一能想到的就是编译两个框架.并在您的安装程序包中包含它们,使用它根据您在系统上找到的内容安装正确的安装程序包.


小智 5

对于应用程序开发人员(和 IT 管理员):IT 管理员可以将 .NET 3.5 应用程序配置为在 .NET 3.5 或 .NET 4.5 上运行(取决于已安装的内容)。为了在 3.5 或 4.5 上运行托管应用程序,只需在应用程序配置文件中添加一个部分。这将确保如果安装了 .NET 3.5,该应用程序将在 .NET 3.5 上运行;否则该应用程序将在 .NET 4.5 上运行。下面提供了配置文件中附加部分的示例:

<configuration>
   <startup>
      <supportedRuntime version="v2.0.50727"/>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
   </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)