嵌入互操作类型时引用SQLiteCommand类无效

15

我正在分发使用NUGET集成到我的项目中的System.Data.Sqlite.dll

我将应用程序发布为x86。

如果我只是将System.Data.Sqlite.dll分发到应用程序文件夹中,我的应用程序会崩溃。

当我分发"SQLite.Interop.dll"文件时,它是由VS在编译时放置在bin\x86\Release\x86\中的,我的应用程序不再崩溃,并且一切正常工作。

然而,我不想分发Interop dll。因此,我右键单击我的解决方案中的System.Data.Sqlite引用,并将"嵌入互操作类型"设置为"True"。

现在,Visual Studio不再编译我的应用程序,告诉我:

当程序集配置为嵌入Interop类型时,对SQLiteCommand类的引用无效。

我真的必须分发Sqlite.Interop.dll吗?还是有更优雅的方法可以解决这个问题?


2
您可以从这里下载bundle包。它们包含混合模式程序集,将本机组件嵌入托管程序集中。 - user4003407
2个回答

0
使用SQLitePCL\*.\* nugets(对于.net 4.0支持,请使用SQLitePCL.raw)。

0
如果我们将“嵌入互操作类型”设置为“False”,它将正常工作。
否则,请参考此文档

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接