SQLite的应用程序希望在其他Windows上运行

时间:2013-07-04 22:34:49

标签: .net sqlite

我面临着一个奇怪的问题。我的应用程序是在.Net 2010(C#),sqlite 1.0.84.0中开发的。 Win7 x86。当我在其他计算机上传输应用程序(Win 7 32位)时,我收到此错误:

Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01: aprox.minipos.exe
  Problem Signature 02: 1.0.0.0
  Problem Signature 03: 51d5f704
  Problem Signature 04: System.Data.SQLite
  Problem Signature 05: 1.0.84.0
  Problem Signature 06: 50edc3cb
  Problem Signature 07: 179
  Problem Signature 08: 1c
  Problem Signature 09: System.ObjectDisposedException
  OS Version:   6.1.7600.2.0.0.256.1
  Locale ID:    1050
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

我必须提到所有文件都被复制(System.Data.SQLite.dll等等)并且还在其他计算机上安装了SQLite 1.0.84.0

此外,我更改了app.config并添加以下行:

    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>

然后我更改了对1.0.86.0的引用,并发生了同样的错误。同样在Build选项中配置为Any CPU。

我总是很困惑......该怎么办?

1 个答案:

答案 0 :(得分:0)

尝试将目标平台更改为X86而不是任何CPU。它似乎是引用32位/ 64位DLL的问题。

所有这些可能会有更多使用信息:What does the Visual Studio "Any CPU" target mean?