簡體   English   中英

“無法在客戶端計算機上加載DLL'SQLite.Interop.dll'錯誤

[英]"Unable to load DLL 'SQLite.Interop.dll' error on client machine

我已經創建了Winforms應用程序,並且將SQLite與Entity Framework 6一起使用。我正在使用Visual Studio 2013。

該應用程序可以在我的本地計算機上完美運行。 但是,當程序在另一台計算機上運行時,會發生以下錯誤:

“無法加載DLL'SQLite.Interop.dll':找不到指定的模塊。

就我而言,問題在於發布項目時沒有將Interop dll復制到目錄中。

我的問題是:發布應用程序時,如何強制將此dll復制到正確的目錄?

我找到了解決該問題的方法。 我已經正確安裝了所有SQLite軟件包,但是在發布應用程序時,Interop.dll沒有被復制。

我所做的是構建項目,然后進入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參考屬性“復制本地”設置為true。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM