博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
“程序已停止工作”问题的解决方法,停止解决方法
阅读量:6274 次
发布时间:2019-06-22

本文共 1218 字,大约阅读时间需要 4 分钟。

“程序已停止工作”问题的解决方法,停止解决方法

 

问题

遇到一个程序打不开的错误,如图:

问题详细信息如下:

问题签名:

问题事件名称: CLR20r3
问题签名 01: rdh-idss.exe
问题签名 02: 1.0.1.0
问题签名 03: 5510d590
问题签名 04: RDH-IDSS
问题签名 05: 1.0.1.0
问题签名 06: 5510d590
问题签名 07: 92
问题签名 08: 10
问题签名 09: System.BadImageFormatException

解决

1)百度里查找了很多类似的错误,发现弹框总是一样,详细信息不尽相同。所以解决此问题的关键还是看详细信息。如上面的详细信息里的最后,就可以看到这个错误:“System.BadImageFormatException”。

2)在我的程序里,我加上了全局异常捕获,后来就没弹这个问题了(可能出错的地方不影响整体)。代码:

Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);Application.ThreadException += Application_ThreadException;AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

  

System.BadImageFormatException

在MSDN的Library中找到System.BadImageFormatException,里面关于这个问题的原因和解决方法已经很清楚。

  • 原因:低版本编译工具(如 ILDasm.exe 或 installutil.exe)编译高版本Framework的程序。

    方法:使编译工具和程序版本相对应。

  • 原因:按加载托管程序集的方法加载非托管程序集。如:Assembly.LoadFile(@"System32\Kernel32.dll")

    方法:使用DllImportAttribute的方法加载非托管程序集。

  • 原因:DLL 或可执行文件作为 64 位程序集加载,但是它包含 32 位特性或资源。 例如,它依靠 COM 互操作或调用 32 位动态链接库中的方法。

    方法:将项目的“平台目标”属性设置为 x86(而不是 x64 或 AnyCPU)并重新编译。

  • 原因:低版本Framework程序集调用高版本程序集。

    方法:确保引发该异常的程序集尝试加载用兼容版本的 .NET Framework 开发的程序集。

总结

解决打开程序时,提示“程序已停止工作”的问题方法是,在详细信息里找到具体的错误,然后解决相关的问题。

转载于:https://www.cnblogs.com/net-sky/p/9231605.html

你可能感兴趣的文章
Vue.js 中v-for和v-if一起使用,来判断select中的option为选中项
查看>>
jquery特效网站
查看>>
Java中AES加密解密以及签名校验
查看>>
定义内部类 继承 AsyncTask 来实现异步网络请求
查看>>
VC中怎么读取.txt文件
查看>>
七天学会ASP.NET MVC (四)——用户授权认证问题
查看>>
Python 定制类的特殊方法与授权
查看>>
回溯法求解数独算法(C语言)
查看>>
如何清理mac系统垃圾
查看>>
企业中最佳虚拟机软件应用程序—Parallels Deskto
查看>>
送给“正在纠结”、“准备纠结”的前端开发们
查看>>
Android 自定义Camera基本使用步骤及关键注意点
查看>>
Nginx配置文件详细说明
查看>>
sgu 127
查看>>
如何在Navicat中设置HTTP属性
查看>>
怎么用Navicat Premium图标编辑器创建表
查看>>
谈DELL收购EMC
查看>>
SpringBoot 异常:Target object must not be null
查看>>
监控系统那些事儿01——好奇,了解HP Openview系列软件
查看>>
Spring配置文件(2)配置方式
查看>>