问题描述
情况概述:VS2010编写的程序,debug文件夹中的exe可执行文件在装有XP的工控机上无法运行,点击之后,任务管理器会出现相关进程,但是持续1S左右即退出,窗体无法呈现相关情况:1能够正常运行的情况本机(win7,.netframework全系列均有安装,VS2010有安装)同事机器(XP,.NETframework全系列均有安装,无VS2010)2不能够正常运行的情况工控机(XP,.NETFramework全系列从2.0到4.0均有安装,无VS2010)3一点说明a,以上测试都是用的同一个debug文件夹,文件夹中的dll文件等都是完全相同的,既然在其它XP上能运行,目测可以排除程序本身的问题b,为了证明是否是工控机本身系统的问题,我用VS2010重新编译了一个空白窗体文件,生成exe后在工控机上运行,是可以正常运行的,说明工控机上的.NETFramework也是正常的跪求大神指点,应该是工控机上缺上某些组件吧,可是实在不知道该如何排查!求指点!
解决方案
解决方案二:
首先看看工控机的系统是否安装windowsinstaller4.5其次看看是否需要安装visualc++2010运行库(调用c++dll需要)最后看项目属性中生成中的目标平台是否x86
解决方案三:
打开计算机管理-系统日志看错误。别乱猜。
解决方案四:
目录权限及是否有读取目录及配置文本?
解决方案五:
记录Log,使用trycatch把错误记到文本中
解决方案六:
软件自身未捕获的异常和线程异常可以通过全局的事件来捕捉Application.ThreadException+=newSystem.Threading.ThreadExceptionEventHandler(Application_ThreadException);AppDomain.CurrentDomain.UnhandledException+=newUnhandledExceptionEventHandler(CurrentDomain_UnhandledException);Application.Run(newForm1());staticvoidCurrentDomain_UnhandledException(objectsender,UnhandledExceptionEventArgse){//getlog}staticvoidApplication_ThreadException(objectsender,System.Threading.ThreadExceptionEventArgse){//getlog}
通过日志查看,比猜测来的更直接有效些
解决方案七:
引用2楼caozhy的回复:
打开计算机管理-系统日志看错误。别乱猜。
这个是最直接的。总比盲目的乱猜好很多
解决方案八:
日志很重要。补上吧。