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

C# 程序停止工作,问题事件名称: ;CLR20r3,c#,visual-studio-2010,sqlite,C#,Visual Studio 2010,Sqlite,我正在从发布文件夹启动我的程序。在我的Windows7 64位计算机上,它正在工作 在虚拟机Windows7中,32位操作系统正在工作 在第三台64位Windows 7计算机上,它不工作 在我安装了.NET Framework 4的每台机器上,我的项目都使用.NET Framework 3.5,因为我使用SQLite数据库,而SQLite dll是我理解的项目需要使用.NET Framework 3.5 我使用的是VisualStudio2010快速版,SQLite数据库 以下是来自第三台计算机

我正在从发布文件夹启动我的程序。在我的Windows7 64位计算机上,它正在工作

在虚拟机Windows7中,32位操作系统正在工作

在第三台64位Windows 7计算机上,它不工作

在我安装了.NET Framework 4的每台机器上,我的项目都使用.NET Framework 3.5,因为我使用SQLite数据库,而SQLite dll是我理解的项目需要使用.NET Framework 3.5

我使用的是VisualStudio2010快速版,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

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

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

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


其他问题还揭示了有关此问题的更多信息:/

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

我也遇到了类似的问题。你的解决方案对我来说很好。非常感谢你的帮助。:)