应用程序无法运行,不是有效的Win32位程序解决(新手向)
– 引言
前段时间使用C#的Winform写了一个矢网的测试系统,在目标机器XP系统上怎么都打不开,开始是弹出不是有效的Win32位应用程序,然后什么也不显示,后来自己研究了一段时间把这个问题可以说得到了彻底解决。
– 不是有效的Win32位应用程序
这个是老问题了,因为我用的是VS2012的C#编辑,就算安装了VS2012update3也不会在项目属性中提示适用于XP那种的选项,害我走了一个弯路。 面对这个问题,其实只需要在项目属性的.NETFrame框架版本与目标机器的.NET版本一致就可以了。查询.NET版本可以通过两种办法:1.目标机器有VS2012什么的软件,打开随便建个项目看下项目属性一看就知道了。2.运行regedit注册表查看。只要你在打开程序的时候不弹出这个对话框,说明这个问题就解决了。
– 不弹对话框但是打开程序没反应,程序打开后秒关
- 这种情况肯定是你程序报错了导致的,有的人会说:我程序在我电脑里是好好的呀,怎么会报错呢,这时候你就需要打开Windows错误日志查看,右键我的电脑->管理->Windows日志然后就是找到应用程序的错误报告,你一看报告就知道什么错误了,一般新手犯得错误都是以下两种。
- 1.没找到某个引用。引用没有在项目文件夹中。在VS2012中,因为比如你使用Winform你添加比如DevExpress的控件,系统都会自动将这个DLL导入,所以你如果想要将整个项目转移一定要在引用中选择属性->复制到本地,这样确保你项目转移的时候引用还是在的。
- 2.没有找到某个文件。比如你在Winform中导入了一些图片,你一定要将这些图片导入到项目中,这样你在转移的时候就不会出问题。
- 综上所述,最好的解决办法就是你在转移程序的时候可以先移植到另一台有VS2012之类的电脑上运行调试一下看看有没有问题,然后再移植到目标调试机。第一次写微博有写的不好的地方请多包涵啊~,觉得还有点用的话给点鼓励~