【问题标题】:Can't run Visual Studio 2012 program on Windows XP无法在 Windows XP 上运行 Visual Studio 2012 程序
【发布时间】: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 兼容。

标签: .net visual-studio windows-xp runtime-error windows-7-x64


【解决方案1】:

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

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

就是这样。

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 2013-10-27
      • 1970-01-01
      • 2012-09-11
      • 2013-04-13
      • 2014-10-08
      • 1970-01-01
      • 2013-05-06
      相关资源
      最近更新 更多