程序停止工作,问题事件名称:CLR20r3

Posted

技术标签:

【中文标题】程序停止工作,问题事件名称:CLR20r3【英文标题】:Program Stopped working, Problem Event Name: CLR20r3 【发布时间】:2011-11-07 23:33:39 【问题描述】:

我正在从发布文件夹启动我的程序。在我的 Windows 7 64 位机器上它可以工作。

在虚拟机 Windows 7 32 位中它可以工作。

在装有 Windows 7 64 位的第三台机器上无法正常工作。

在我安装了 .NET Framework 4 的每台机器上,我的项目使用 .NET Framework 3.5,因为我使用 SQLite 数据库和 SQLite dll,因为我知道项目需要是 .NET Framework 3.5。

我使用的是 Visual Studio 2010 Express 版本,SQLite 数据库。

这是来自第三台计算机的错误:

Description:
Stopped working

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01:   geotest.exe
Problem Signature 02:   1.0.0.0
Problem Signature 03:   4e58f462
Problem Signature 04:   GeoTest
Problem Signature 05:   1.0.0.0
Problem Signature 06:   4e58f462
Problem Signature 07:   f
Problem Signature 08:   12
Problem Signature 09:   System.BadImageFormatException
OS Version: 6.1.7600.2.0.0.256.1
Locale ID:  1033

【问题讨论】:

【参考方案1】:

3.0 版以后的公共语言运行时使用不同的方法来加载混合模式程序集(一个包含托管 本机代码的程序集),如 SQLite。由于 SQLite 是针对 .NET Framework 2.0 构建的,因此我们必须明确告诉 CLR 使用旧的 2.0 方式加载混合模式程序集:

在您的项目中添加(或更新)app.config:

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

其他问题也揭示了这方面的更多信息:SQLite-specific / generic explanation

【讨论】:

我遇到了类似的问题。您的解决方案对我来说效果很好。非常感谢你的帮助。 :)【参考方案2】:

在发布文件夹中没有 System.Data.SQLite.DLL,这是问题。现在,当我复制它时,一切正常。

【讨论】:

以上是关于程序停止工作,问题事件名称:CLR20r3的主要内容,如果未能解决你的问题,请参考以下文章

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

问题事件名称CLR20r3 OS 版本6.1.7601.2.1.0.768.2 区域设置 ID 2052

运行Auto CAD 2010 问题事件名称:CLR20r3

问题事件名称:CLR20r3 (已经装了net framework 3.5.1)

安装了一个软件,问题事件CLR20r3

解密 .NET clr20r3 异常参数 P1..P10