如何在Windows 7和Windows 8上构建默认支持的.NET应用程序?

Tie*_*rcq 6 .net c# windows-8

使用Visual Studio 2013 Pro,我构建了我的第一个小型控制台应用程序.应该可以在我们网络中的每台计算机上快速运行此控制台应用程序.我们至少运行Windows XP SP3到Windows 8.1.

因此我创建了一个针对.NET 2.0的应用程序,但令我惊讶的是,Windows 8机器抱怨它必须为此安装/激活.NET 3.5.Windows 8默认情况下没有激活!

当我瞄准2.0时,它运行在我们的XP和W7上,而不是在W8上.当我的目标是4.0时,它运行在所有W8和一些W7上,但不在XP上运行.

这是相同的应用程序..那么真的没有办法告诉操作系统使用可用的框架吗?

我尝试将配置文件"MyAppName.exe.config"和"App.config"添加到项目中,其中包含:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我交换了订单,并针对.NET 2.0,3.0,3.5和3.5客户端配置文件.但是当不针对> = .NET 4时,W8一直要求激活.NET 3.5

如果客户端安装了.NET 2.0或更高版本,如何在XP SP3,W7和W8上运行这个小应用程序而无需安装任何额外的框架?

out*_*man 2

我相信您只是错过了startup元素:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

只需尝试使用此配置使用目标版本 3.5 再次构建它。

关于其他选项。您在 Windows XP 和 Windows 8 上安装了 .NET Framework 4.0 吗?如果是这样,您可以在构建应用程序时尝试使用此版本作为目标版本。