首页 文章

无法加载SQLite Interop DLL

提问于
浏览
0

我想在我的Windows 10机器上安装SQLite . 我想在我的项目中使用SQLite数据库 . 目标框架是.net 4.0,我正在使用VS2010 .

SQLite .NET下载页面包含以下内容:

64位Windows(.NET Framework 4.0)的设置sqlite-netFx40-setup-bundle-x64-2010-1.0.104.0.exe(14.27 MiB)此安装程序包具有混合模式程序集,并将安装所有必需的运行时组件以及System.Data.SQLite 1.0.104.0(3.15.2)程序包的x64版本的依赖项 . 包含x64的Visual C 2010 SP1运行时 . .NET Framework 4.0是必需的 .

sqlite-netFx40-setup-x64-2010-1.0.104.0.exe(14.26 MiB)此安装程序包将为System.Data.SQLite 1.0.104.0(3.15.2)的x64版本安装所有必需的运行时组件和依赖项包 . 包含x64的Visual C 2010 SP1运行时 . .NET Framework 4.0是必需的 .

当我使用sqlite-netFx40-setup-x64-2010-1.0.104.0.exe安装并在我的项目中使用SQLite时,我收到错误“无法加载DLL'SQLite.Interop.dll':找不到指定的模块 . (HRESULT异常:0x8007007E)“ . 要解决它,我必须复制调试文件夹中的interop dll文件 .

但是,当我使用sqlite-netFx40-setup-bundle-x64-2010-1.0.104.0.exe安装时,我可以运行我的程序而无需interop dll . 它不会给出任何错误,只需要System.Data.SQLite.dll .

我想知道为什么会这样?

1 回答

  • 0

    1-在项目的根目录中创建一个lib,然后复制SQLite.Interop.dll .

    将其添加到.csproj文件中:

    <ItemGroup>
        <ContentWithTargetPath Include="lib\SQLite.Interop.dll">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
          <TargetPath>SQLite.Interop.dll</TargetPath>
        </ContentWithTargetPath>
      </ItemGroup>
    

相关问题