无法在 Windows XP 上运行 Visual Studio 2012 程序

Posted

技术标签:

【中文标题】无法在 Windows XP 上运行 Visual Studio 2012 程序【英文标题】:Can't run Visual Studio 2012 program on Windows XP 【发布时间】:2014-01-04 12:25:21 【问题描述】:

我有一个使用 Visual Studio 2012 和 .NET 4.5 构建的简单 C# 控制台应用程序。

当我在我的 64 位 Windows 7 机器上构建解决方案,然后从该位置复制 MyProgram.exe 文件时:

C:\Users\me\Desktop\MyProgram\MyProgram\bin\x86

到 Windows XP 机器,然后尝试运行 MyProgram.exe 文件,我收到以下错误:

MyProgram.exe is not a valid win32 application

我可以通过谷歌搜索看到很多其他人有同样的问题,并且有很多建议的解决方案。但是没有一个解决方案似乎对我有帮助。

谁能给我分步说明如何准备 .exe 文件以在 XP 上运行?

【问题讨论】:

您的 Windows XP 安装的是 64 位吗? 您是否尝试过更改项目中的平台目标选项> 您的项目名称 属性> 构建? 你的 WinXP 机器上安装了 .Net 4.5 吗? 当我查看在 Visual Studio 2012 中编译的 .NET exe 的“可选标头”时,最小操作系统字段设置为大于或等于 Windows Vista。通过转到项目属性->配置属性->常规->平台工具集,确保您使用 XP 支持工具链,并使值 XP 兼容。 Is it possible to run a .net 4.5 app on XP?的可能重复 【参考方案1】:

我使用的步骤(没有创建新项目):

    打开项目设置,选择应用程序。 在“目标框架”上,选择 .Net Framework 4。 重新编译

就是这样。

如果您正在使用发布功能,请记住还要设置“先决条件”下的发布(一键式)设置以使用 Framework 4。我发现框架的客户端版本似乎并没有削减它,尽管文档似乎表明了什么,但您需要完整版本,但也许这是在逐个项目的基础上。

【讨论】:

【参考方案2】:

我终于让它工作了!一直以来都在试图弄清楚如何解决问题,而解决方案不得不从头开始重新创建整个项目。

对于任何人都有同样的情况,省去自己的时间和头痛,并执行以下操作:

    保存并关闭所有 VS2012 实例。 启动一个全新的 VS 实例,并以 .NET 4.0 为目标。 在做任何其他事情之前,进入配置管理器并以 x86 为目标。 现在将您的旧代码复制到此项目中。 在 XP 上编译和运行。 完成!

【讨论】:

下次把.NET Framework目标版本改成4.0就行了【参考方案3】:

在 Windows Vista 及更高版本中编译的程序无法在 Windows XP 中运行。

http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx

您需要将编译器设置为VC2010,并确保您在“发布”模式下编译,以确保程序可以在另一台机器上运行。

【讨论】:

以上是关于无法在 Windows XP 上运行 Visual Studio 2012 程序的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 7 而不是 Windows XP 上运行 Visual Studio 2010 的优势

Visual Studio 2015 无法生成在 Windows XP 上成功注册的 ATL Dll

Windows 7 XP 模式和 Visual Studio 2003

使用 Visual Studio 11 编译的可执行文件有啥特别之处导致无法在 Windows XP 上执行?

在 Visual Studio 中使用 XP 工具集编译时出现路径空间的 Windows XP 运行时问题

在 Visual Studio 2015 和 Windows 10 中无法获取 XP 样式按钮 (FlatStyle=System)?