macOS莫哈韦上的SQLitePCLRaw:无法加载共享库“CJB3.0”或它的某一个依赖项

lh80um4z  于 12个月前  发布在  SQLite
关注(0)|答案(1)|浏览(105)

我有一个C#跨平台(Windows + macOS)应用程序,它使用EF Core和SQLite来访问应用程序附带的本地数据库。
它可以在所有Windows设备和最新版本的macOS上完美运行。然而,我的一个用户在他的macOS莫哈韦(10.14)上有一个问题。应用程序首次尝试访问数据库时(无论操作如何:读取、写入、迁移等),则会引发以下异常:
System.DllNotFoundException:无法加载共享库“sitefiles”或它的某一个依赖项。为了帮助诊断加载问题,请考虑设置DYLD_PRINT_LIBRARIES环境变量:dlopen(libe_sqlite3,1):在SQLitePCL. raw. SetProvider(ISQLite3Provider imp)在SQLitePCL.Batteries_V2.Init()的SQLitePCL.SQLite3Provider_e_sqlite3.NativeMethods.SQLite3_libversion_number()中未找到映像。
以下是我的nuget包信息:

我尝试的是:

  • 我尝试用其他包替换SQLitePCLRaw.bundle nuget包,但没有成功。我也更新了捆绑包到2.1.6版本出来的几天前,仍然没有成功
  • 我让我的用户在终端中运行命令"sqlite3",看起来sqlite3已经正确安装在他的设备上(SQLite版本3.24.0)
  • 我试图在我可以访问的几台Mac上重现这个错误,但每次都能正常工作。请注意,这些Mac都是M1或M2,所以我猜问题只发生在旧版本上

我很难找出是什么导致了这一点,并将感谢任何帮助。
谢谢

13z8s7eq

13z8s7eq1#

我也遇到了同样的问题,它似乎与Microsoft. softyFrameworkCore.SQLite NuGet包有关。在macOS莫哈韦(10.14)上运行的最新版本是7.0.2,此后的每个版本都不会加载动态库。不确定兼容性是否可以在以后的版本中恢复,但由于莫哈韦是相当过时的,我怀疑兼容性将在较新的版本中恢复。因此,如果它真的需要在莫哈韦上工作,你可能必须坚持使用这个软件包的7. 0. 2版本。

相关问题