首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libSQLite.Interop未找到Mac \ M1

libSQLite.Interop未找到Mac \ M1
EN

Stack Overflow用户
提问于 2022-01-10 10:09:37
回答 3查看 1K关注 0票数 3

我在M1 Pro上使用dotnet 6,并且很难使用SQLite-包。

System.DllNotFoundException: Unable to load shared library 'SQLite.Interop.dll' or one of its dependencies.

这是当我试图运行应用程序时抛出的错误。然而,建筑工程很好。

EN

回答 3

Stack Overflow用户

发布于 2022-03-07 21:03:14

通过从源代码构建Interop.dll文件和M1 macbook上的dotnet库文件,我成功地解决了这个问题。只有构建Interop.dll才会生成EntrypointNotFoundException。要构建库,请从SQLite网站下载源代码,编写时这是文件sqlite-netFx-source-1.0.115.5.zip。解压缩它并运行文件Setup/compile-interop-assembly-release.sh。若要构建库,请在dotnet build -c Release目录中运行System.Data.SQLite。您的互操作文件将在bin/2013/Release/bin中。我将其符号链接到/usr/local/lib/libSQLite.Interop.dll,但也可以将其作为libSQLite.Interop.dll复制到项目目录中。现在,将对bin/NetStandard21/ReleaseNetStandard21/bin/netstandard2.1/System.Data.SQLite.dll的引用添加到您的项目中,它应该运行良好。

更新:在编写时,直接从1.0.115中直接使用过时的NuGet版本也可以很好地运行。

票数 4
EN

Stack Overflow用户

发布于 2022-07-27 19:34:20

作为sqlite尚未瞄准arm64的解决方案,您可以使用.net 6 x64体系结构。

  • 从.net 6 x64安装这里
  • 将IDE (或终端)配置为使用.net x64。这将因IDE而异,但在Rider:中
    • CMD ,打开首选项
    • 导航到“工具集和生成”部分
    • 将.NET CLI可执行路径更改为/usr/local/share/dotnet/x64/dotnet

票数 2
EN

Stack Overflow用户

发布于 2022-01-26 17:45:03

我也有同样的问题。如果我签入“bin/Debug/net6.0/runtime”,每个体系结构都会有一个文件夹,并且在每个体系结构中都会看到"SQLite.Interop.dll“。问题是,唯一可用的架构是“Linuxx64,osx-x64,unix,win,win-arm64,win-x64,win-x86”。所以我们错过了"macos-arm64“。我很乐意使用docker容器,但"linux-arm64“也不存在。除了等待(等待实现)之外,不知道该做什么。更奇怪的是,我在Mac上尝试了用Windows11作为虚拟机,而且它也没有解决win-arm64dll。对不起,没有答案,我只是张贴在这里,以便它可能会触发某人的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70650711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档