“无法在客户端计算机上加载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'错误的主要内容,如果未能解决你的问题,请参考以下文章