【问题标题】:Not a valid Win32 application不是有效的 Win32 应用程序
【发布时间】:2013-12-07 20:12:31
【问题描述】:

我是 C# 的完整初学者。我使用 Visual Basic 2013(Win7 64 位)制作了一个简单的程序。当我尝试在 Win XP 32 位上打开它时,我收到一条消息“....不是有效的 Win32 应用程序”。如何解决?

提前谢谢!

【问题讨论】:

    标签: c# windows 64-bit 32-bit


    【解决方案1】:

    您必须在 Visual Studio 构建配置中将构建更改为 AnyCPU。

    【讨论】:

    • 已经这样做了,但仍然没有用:/ 另一件事是:当我(在我的 64 位电脑上)打开程序文件夹/bin 时,我看到调试、发布、x64、x86。当我从 x64 文件夹打开程序时,它会启动正确的程序(我制作的那个)。当我从 x86 文件夹中执行此操作时 - 它会打开一个几乎为空的表单,其中包含一个按钮和一个文本框(不是我制作的那个)。当我从调试文件夹打开时也会发生同样的事情。
    • 你是怎么解决的?我遇到了同样的问题。如果你能分享,将不胜感激。
    • @Zgrkpnr 他在 x86 模式下构建应用程序,这将适用于 Windows XP x64(WOW)和 x86,如果这能解决您的问题,请不要忘记投票 :-)
    • @BassamAlugili 我会试一试并给你反馈
    【解决方案2】:
    • 确保 Win XP 机器安装了正确版本的 .NET 框架
    • 编译您的程序以在所有机器上运行,而不仅仅是 64 位。

    要执行第二个,右键单击项目 -> 属性 -> 构建 -> 找到显示平台的字段并确保它显示任何 CPU(或至少 x86)

    【讨论】:

      【解决方案3】:

      您无法在 32 位操作系统上运行 64 位程序。不过,您可以在 64 位操作系统上运行 32 位程序。确保在编译操作系统时以“任何 CPU”为目标。项目>属性>构建

      【讨论】:

        【解决方案4】:

        嗯 - 你自己说的。您已经创建了一个 Win64 应用程序,可悲的是,它与 Win32 应用程序不一样...... 将其构建为“任何 cpu”,问题就消失了:-)

        【讨论】:

          【解决方案5】:

          确保两台机器上的 .Net 版本相同。编译代码时,请检查目标框架设置。

          【讨论】:

            【解决方案6】:

            请注意,在 Visual Studio 中,您可以在构建属性中定位 .net 框架。 XP 仅适用于 .net 4.0,因此您应该确保将构建定位到该框架(我认为它会在第一次构建时自动选择您的操作系统正在运行的 .net)。

            【讨论】:

              猜你喜欢
              • 2013-11-03
              • 2017-04-16
              • 2012-07-03
              • 2019-03-02
              • 2016-12-07
              • 2021-10-15
              • 2011-06-23
              • 2017-03-28
              相关资源
              最近更新 更多