“无法在客户端计算机上加载DLL'SQLite.Interop.dll'错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“无法在客户端计算机上加载DLL'SQLite.Interop.dll'错误相关的知识,希望对你有一定的参考价值。

我创建了一个Winforms应用程序,并使用SQLite和Entity Framework 6.我正在使用Visual Studio 2013。

该应用程序在我的本地机器上完美运行。但是,当程序在另一台计算机上运行时,会发生以下错误:

“无法加载DLL'SQLite.Interop.dll':找不到指定的模块。

就我而言,问题是我发布项目时没有将Interop dll复制到目录中。

我的问题是:当我发布应用程序时,如何强制将此dll复制到正确的目录?

答案

我找到了解决问题的方法。我已经正确安装了所有SQLite包,但是当我发布应用程序时,Interop.dlls没有复制。

我做的是构建项目,然后进入bin / Debug /文件夹并复制包含SQLite.Interop.dll文件的x86和x64文件夹。然后我将这些文件夹包含在我的项目中。如果现在工作正常。

另一答案

对于后代,如果您通过NuGet添加SQLite并且它没有复制,您可以将其添加到您的csproj文件中,它应该复制x86和x64:

 <PropertyGroup> 
    <ContentSQLiteInteropFiles>true</ContentSQLiteInteropFiles>
    <CopySQLiteInteropFiles>false</CopySQLiteInteropFiles>
    <CleanSQLiteInteropFiles>false</CleanSQLiteInteropFiles>
    <CollectSQLiteInteropFiles>false</CollectSQLiteInteropFiles>
 </PropertyGroup>
另一答案

在Visual Studio中,将SQLite.Interop.dll引用属性“Copy Local”设置为true。

以上是关于“无法在客户端计算机上加载DLL'SQLite.Interop.dll'错误的主要内容,如果未能解决你的问题,请参考以下文章