我正在尝试在 MonoMac 程序中使用 SQLite 数据库(目的是在 MonoTouch 应用程序中重用数据库)。
我尝试了两种不同的 ORM,但都因同样的问题而失败。在网上搜索,我发现了这个MONO_LOG_LEVEL=debug
标志,还有很多信息,但我不能完全让它工作。
目前,我正在引用 Mono.Data.SQLite,但从我发现的情况来看,这似乎只是系统特定版本的包装器。
这是错误输出:
Mono:加载程序集 System.Data v2.0.0.0 的请求已重新映射到 v4.0.0.0 Mono:程序集加载器探测位置:'/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono /gac/System.Data/4.0.0.0_b77a5c561934e089/System.Data.dll '。单声道:图像地址引用 System.Data[0x62ada0] -> /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/System.Data/4.0.0.0 _b77a5c561934e089/System.Data.dll[0xbd5600] :2 Mono:Assembly System.Data[0x62ada0] 添加到域 SQLTest.exe,ref_count=1 Mono:AOT 无法加载 AOT 模块 /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/ System.Data/4.0.0.0_b77a5c561934e089/System.Data.dll.dylib : dlopen(/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/System.Data/4.0.0.0_b77a5c561934e089/System.Data.dll.dylib, 9): 找不到图像
Mono:程序集加载器从以下位置加载程序集:'/ Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/System.Data/ 4.0.0.0_b77a5c561934e089/System.Data.dll'。Mono:配置尝试解析:'/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/System.Data/4.0.0.0_b77a5c561934e089/System.Data.dll.config'。Mono:配置尝试解析:'/Library/Frameworks/Mono.framework/Versions/2.10.9/etc/mono/assemblies/System.Data/System.Data.config'。Mono:Assembly Ref addref Catnap[0x6213c0] -> System.Data[0x62ada0]:2 Mono:Assembly Ref addref System.Data[0x62ada0] -> mscorlib[0x1001d90]:6 Mono:Assembly Loader 探测位置:'/Library/Frameworks /Mono.framework/Versions/2.10.9/lib/System.Data.SQLite.dll'。Mono:Assembly Loader 探测位置:'/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/System.Data.SQLite.exe'。
未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“System.Data.SQLite”或其依赖项之一。该系统找不到指定的文件。文件名:System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, Boolean refonly) [0x00000] 中的“System.Data.SQLite”在 System.AppDomain.Load (System.String assemblyString) [0x00000] in :0 at (wrapper remoting-invoke-with-check) System.AppDomain:Load (string) at System.Reflection.Assembly.Load (System.String assemblyString) [0x00000] in :0 at Catnap。 Database.BaseDbAdapter.ResolveConnectionType (System.String connectionTypeAssemblyName) [0x00000] in :0 at Catnap.Database.Sqlite.BaseSqliteAdapter..ctor (System.String connectionTypeAssemblyName) [0x00000] in :0 at Catnap。
我试过添加一个配置文件
<configuration>
<dllmap dll="sqlite3" target="/usr/local/lib/libsqlite3.0.dylib" os="!windows"/>
</configuration>
到应用程序,我已经尝试修改/Library/Frameworks/Mono.framework/Versions/2.10.9/etc/mono/config
,但没有任何效果。它仍然在错误的地方寻找并且没有找到 SQLite。
请帮忙?