\“无法加载客户端机器上DLL‘SQLite.Interop.dll’错误(\"Unable to

2019-10-24 11:03发布

我创建了一个WinForms应用程序和正在使用SQLite与实体框架6.我使用Visual Studio 2013。

该应用程序完美的作品我的本地机器上。 然而,当程序在另一台机器上运行出现以下错误:

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

就我而言,问题是,互操作DLL不被复制到该目录,当我发表我的项目。

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

Answer 1:

我发现我的问题的解决方法。 我已经正确安装了所有的SQLite的包,然而Interop.dlls没有在复制的时候我发布的应用程序。

我所做的是建立项目,然后走进斌/调试/文件夹和复制了包含SQLite.Interop.dll文件的x86和x64文件夹。 然后我包括在我的项目这些文件夹。 如果所有现在工作的罚款。



Answer 2:

对于后人,如果您通过添加的NuGet SQLite的,它不是抄袭,您可以添加到您的csproj文件,这一点,它应该复制的x86和x64的的:

 <PropertyGroup> 
    <ContentSQLiteInteropFiles>true</ContentSQLiteInteropFiles>
    <CopySQLiteInteropFiles>false</CopySQLiteInteropFiles>
    <CleanSQLiteInteropFiles>false</CleanSQLiteInteropFiles>
    <CollectSQLiteInteropFiles>false</CollectSQLiteInteropFiles>
 </PropertyGroup>


Answer 3:

在Visual Studio中SQLite.Interop.dll参考性质“复制本地”设置为true。



文章来源: \"Unable to load DLL 'SQLite.Interop.dll' error on client machine