无法在目标机器上加载文件或程序集system.data.sqlite

本文关键字:文件 程序集 system sqlite data 加载 目标 目标机 机器 | 更新日期: 2023-09-27 18:12:51

我有一个windows窗体,连接到一个sqlite数据库。
应用程序在我的pc上运行良好,但当我在任何其他pc上运行它时,我得到消息:

    could not load file or assembly 'system.data.sqlite, version=1.0.84.0. culture=neutral, publickey token=db937bc2d44ff139' or one of irs dependencies

我尝试将App.xml更改为:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" />
      </startup>
    </configuration>

目标机器安装了。net 4.5,这个问题与。net无关,因为这个消息只出现在使用sqlite的类上。
我试过安装Visual c++ 2010 SP1 Redistributable x86,但这并没有解决问题。但是当我安装了Visual Studio后,它就像魅力一样工作了。没有在客户端机器上安装Visual Studio,我应该如何运行我的应用程序?

无法在目标机器上加载文件或程序集system.data.sqlite

SQLite .NET程序集不是。net Framework或Visual c++ 2010 SP1 Redistributable x86的一部分;您应该将它们部署到您的应用程序中。

来自System.Data.SQLite FAQ:

部署程序集的推荐方法是"应用程序本地"(即将它们复制到安装应用程序的目录)

也不要忘记本地互操作dll;您基本上需要这样部署:

- YourApp.exe
- System.Data.SQLite.dll
- x86/SQLite.Interop.dll
- x64/SQLite.Interop.dll