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

本文关键字:clr20r3 事件 停止工作 问题 程序 | 更新日期: 2023-09-27 18:07:07

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

在Windows 7 32位虚拟机中运行正常

在第三台安装64位Windows 7的机器上,它不能工作。

在我安装。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

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

3.0版本以后的公共语言运行库使用不同的方法来加载混合模式程序集(包含托管本机代码的程序集),如SQLite。由于SQLite是基于。net Framework 2.0构建的,我们必须特别告诉CLR使用旧的2.0方式加载混合模式程序集:

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

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

其他问题也揭示了更多关于此的信息:sqlite特定/通用解释

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