每次尝试运行移动的应用程序时,我都会遇到以下问题:
System.DllNotFoundException:
'SQLite.Interop.dll assembly:<unknown assembly> type:<unknown type> member:(null)'
在某种情况下:
我正在Xamarin.Forms [4.3.0]
上进行开发(在本例中,在Android 9.0 x86
上运行构建),客户端库在.NET Standard 2.0
上运行,并且我已经从NuGet
安装了System.Data.SQLite.Core (1.0.112)。
当你查找我的问题时,你会发现人们说把SQLite.Interop.dll
的放进x86/x64
文件夹。
但是当查找这些文件时,根本没有.NET
标准的文件,只有.NET Framework
的文件。我尝试使用.NET Framework 4.6
版本的预编译静态链接二进制文件中的SQLite.Interop.dll
。
Screenshot of the project structure
同样的错误。
不幸的是,我不可能切换SQLite
库,因为我正在将桌面版本移植到使用此库的移动的版本。
2条答案
按热度按时间lskq00tm1#
如果他们没有把你需要移植的类和函数弄得一团糟,你可以使用“Microsoft.Data.SQLite”,这是有区别的,但并不像你需要用“SQLite-Net-Pcl”做的疯狂的废话那样远离可用
x4shl7ld2#
非常感谢您的回答。我使用sqlite .net-pcl包,并得到奇怪的错误和搜索网络的答案,并没有找到任何工作。我添加了Microsoft.Data.Sqlite和宾果!我所有的问题都解决了。我只是按照语法张贴在:https://github.com/dotnet/docs/blob/main/samples/snippets/standard/data/sqlite/HelloWorldSample/Program.cs