【发布时间】:2019-09-21 17:27:22
【问题描述】:
我在发布 .NET Core 控制台应用时遇到问题。当我从 Visual Studio 运行它时它工作正常并且我得到零错误。但是,当我发布它时: dotnet publish -c release -r win-x64 --self-contained
我收到关于 SQLite 的错误。我正在使用 Microsoft.EntityFrameworkCore.Sqlite 库。我得到的错误是:
System.Reflection.TargetInvocationException:
调用的目标已引发异常。 --->System.DllNotFoundException:
无法加载 DLL 'e_sqlite3':找不到指定的模块。 (HRESULT 异常:0x8007007E)
我不知道是什么导致了这个问题,我在互联网上找到的每一件事要么不起作用,要么不适用于我的情况。我真的不知道自己做错了什么,我几乎尝试了所有方法。
【问题讨论】:
-
你使用的是哪个 Sqlite 库?
-
可能你没有安装 64 位的 sqlite?
-
Microsoft.EntityFrameworkCore.Sqlite 这个是我用的,调试的时候可以用,发布后就不行了。
-
@Aevan:在您发布的应用程序的同一目录中是否有
e_sqlite.dll文件? -
没有。我找到了 .dll 文件并手动将其复制到输出目录。它现在正在工作!知道将来如何解决该问题吗?手动复制似乎不是正确的方法。
标签: c# .net visual-studio sqlite