使用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上运行这个小应用程序而无需安装任何额外的框架?
我相信您只是错过了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 吗?如果是这样,您可以在构建应用程序时尝试使用此版本作为目标版本。