VS2019 中的 NuGet 包管理器未恢复 System.Data.SQLite.Core 的互操作 dll
NuGet Package Manager in VS2019 not restoring interop dll for System.Data.SQLite.Core
我有一个使用 SQLite 的简单 .NET Framework 控制台应用程序。我已经安装了 System.Data.SQLite.Core NuGet 包。当我第一次构建 运行 程序时,一切正常。然后我清理我的项目(构建 - 清理解决方案),并将项目提交到 Git 存储库。如果我克隆 repo,并构建和 运行 应用程序,它会失败并且我得到:
System.DllNotFoundException: 'Unable to load DLL 'SQLite.Interop.dll':
The specified module could not be found. (Exception from HRESULT:
0x8007007E)'
如果我在解决方案资源管理器中右键单击我的解决方案并 select 还原 NuGet 程序包,它会告诉我“所有程序包都已安装,没有要还原的内容。”重建和 运行 应用程序仍然给我 System.DllNotFoundException。但是,如果我使用包管理器控制台(工具 - NuGet 包管理器 - 包管理器控制台)和 运行“Update-Package –reinstall”,那么该应用程序将再次运行。
包管理器似乎没有正常恢复“C:...\SQLite2\SQLite2\bin\Debug\x86\SQLite.Interop.dll”。
我错过了什么吗?这不应该是自动的吗?正确的处理方法是什么?
Packages.config
格式会在您的解决方案路径中下载包,并将一个 dll 添加到您的项目中。如果项目中的dll引用有问题,package.config
无法检测和恢复。
您可以尝试将格式更新为PackageReference
,缓存包会自动下载到%UserProfile%/.nuget
文件夹中,直接做为引用包。
我 运行 遇到了同样的问题,这里的所有答案都在 SO 上或其他地方很旧且不适用。似乎最近 MSBuild 发现了一个出现在 SQLite Nuget 包部署中的错误,详情请见 https://sqlite.org/forum/forumpost/50a6f798876b5a18?t=h
解决方案是更新我的 Visual Studio 2019。运行 16.11.1 构建过程会将 x86 和 x64 互操作 dll 再次放入专用文件夹中。
我有一个使用 SQLite 的简单 .NET Framework 控制台应用程序。我已经安装了 System.Data.SQLite.Core NuGet 包。当我第一次构建 运行 程序时,一切正常。然后我清理我的项目(构建 - 清理解决方案),并将项目提交到 Git 存储库。如果我克隆 repo,并构建和 运行 应用程序,它会失败并且我得到:
System.DllNotFoundException: 'Unable to load DLL 'SQLite.Interop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)'
如果我在解决方案资源管理器中右键单击我的解决方案并 select 还原 NuGet 程序包,它会告诉我“所有程序包都已安装,没有要还原的内容。”重建和 运行 应用程序仍然给我 System.DllNotFoundException。但是,如果我使用包管理器控制台(工具 - NuGet 包管理器 - 包管理器控制台)和 运行“Update-Package –reinstall”,那么该应用程序将再次运行。
包管理器似乎没有正常恢复“C:...\SQLite2\SQLite2\bin\Debug\x86\SQLite.Interop.dll”。
我错过了什么吗?这不应该是自动的吗?正确的处理方法是什么?
Packages.config
格式会在您的解决方案路径中下载包,并将一个 dll 添加到您的项目中。如果项目中的dll引用有问题,package.config
无法检测和恢复。
您可以尝试将格式更新为PackageReference
,缓存包会自动下载到%UserProfile%/.nuget
文件夹中,直接做为引用包。
我 运行 遇到了同样的问题,这里的所有答案都在 SO 上或其他地方很旧且不适用。似乎最近 MSBuild 发现了一个出现在 SQLite Nuget 包部署中的错误,详情请见 https://sqlite.org/forum/forumpost/50a6f798876b5a18?t=h
解决方案是更新我的 Visual Studio 2019。运行 16.11.1 构建过程会将 x86 和 x64 互操作 dll 再次放入专用文件夹中。