2013-12-16 60 views
5

我有一个使用Visual Studio 2012和.NET 4.5构建的简单C#控制台应用程序。无法在Windows XP上运行Visual Studio 2012程序

当我建立我的64位Windows 7机器上的溶液中,然后MyProgram.exe文件从该位置复制:

C:\用户\我\桌面\ MyProgram \ MyProgram \ BIN \ X86

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

MyProgram.exe is not a valid win32 application 

我可以通过谷歌搜索只是说很多其他人也有同样的问题的问题,看到和有许多建议的解决方案。但没有任何解决方案似乎对我有帮助。

有人可以请我一步一步地指导如何准备运行在XP上的.exe文件吗?

+0

是你的Windows XP安装64位? –

+0

您是否尝试过在Project> *您的项目名称*属性>构建中更改平台目标选项? – valsidalv

+0

你的WinXP盒子上安装了.Net 4.5吗? –

回答

3

我终于搞定了!所有这一次试图找出如何解决这个问题,解决方案是从头开始重新创建整个项目。

对任何人来说这是同样的情况,节省自己的时间和头痛,并做到以下几点:

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

下一次,只需将.NET Framework目标版本更改为4.0 –

5

我使用的步骤(而无需创建一个新的项目):

  1. 打开项目设置,选择应用。
  2. 在 “目标框架”,选择.Net框架4.
  3. 重新编译

就是这样。

如果您使用的是发布功能,请记得在“先决条件”下将发布(单击)设置设置为使用Framework 4。我发现该框架的客户端版本似乎并没有削减它,尽管文档似乎表明了这一点,但您仍然需要完整版本,但也许这是一个逐个项目的基础。

0

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

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

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

相关问题