c# – System.Data.SQLite从NuGet,interop dll不会复制到输出目录

前端之家收集整理的这篇文章主要介绍了c# – System.Data.SQLite从NuGet,interop dll不会复制到输出目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我安装了 System.Data.SQLite Core (x86/x64) from NuGet.它建立没有警告,但抛出System.DllNotFoundException有关sqlite.Interop.dll.我装载我的项目将sqlite.Interop.dll从NuGet包的目录下复制到输出目录,现在它运行没有例外.

为什么NuGet软件包没有配置我的项目以将相应的interop dll放在输出目录中?似乎应该能够做到这一点.

我是互操作的新手,我继承了这个代码库,它以前直接通过路径引用了System.Data.sqlite.dll.我切换到NuGet,以摆脱关于项目的处理器架构与System.Data.sqlite之间不匹配的警告.我试图将所有项目构建为Anycpu.

解决方法

我认为这是发生在我正在将文件从我的输出文件夹复制到另一个位置,当我部署它们.我错过了正在复制的互操作文件WERE,但它们被复制到输出文件夹中的x64和x86文件夹的事实.

如果在项目中运行msbuild调试,您可以查找对CopysqliteInteropFiles目标的引用,以确保它正在运行.

猜你在找的C#相关文章