项目在Windows XP(32位)停止运行

时间:2013-09-11 19:10:14

标签: vb.net visual-studio-2012

我正在为朋友开发一个应用程序。我使用Visual Basic 2012(64位)和Windows 7(64位)。 我给他做了一个演示试试看看他想要的更多功能,并且运行正常。

当我在实施新功能后的下一周回来时,它拒绝在他的任何Windows XP(32位)计算机上运行。 错误代码:

MyApplicationName.exe is not a valid Win32 application

我在运行Windows 7(32位)的计算机上尝试过,它仍然运行良好。

那么,为什么它突然停止运行的任何想法?

2 个答案:

答案 0 :(得分:2)

当您使用默认项目设置时,VS2012不会生成可在XP上运行的EXE。重要的是您所针对的.NET Framework版本。如果那是4.5版本,则会出现两个问题。

首先,.NET 4.5不适用于XP。第二个对于此异常消息很重要,编译器将标记在文件头中运行EXE所需的Windows版本。该版本号始终设置为4.00。直到VS2012,它现在设置为6.00,Vista的版本号。 XP会立即拒绝你的EXE,因为“它不是一个有效的Win32应用程序”消息,甚至在它告诉你它没有安装.NET 4.5之前。

通过定位.NET 4.0或更早版本来解决您的问题。 Project + Properties,Application选项卡,Target framework setting。

答案 1 :(得分:0)

尝试使用/ 32bit +的corflags并查看它是否有效。

更多信息: http://msdn.microsoft.com/en-us/library/ms164699.aspx