Sqlite 在monomac上使用dllmap
我正试图使用一个定制的sqlite构建和MonoMac,有效地按照这一点 然而,使用dllmap似乎不起作用 我的自定义动态库正在部署到Sqlite 在monomac上使用dllmap,sqlite,mono,dylib,monomac,xamarin.mac,Sqlite,Mono,Dylib,Monomac,Xamarin.mac,我正试图使用一个定制的sqlite构建和MonoMac,有效地按照这一点 然而,使用dllmap似乎不起作用 我的自定义动态库正在部署到[myapp.app]/Contents/Frameworks/mycustomlib.dylib otool-L mycustomlib.dylib的输出看起来正确: @executable_path/../Frameworks/mycustomlib.dylib (compatibility version 0.0.0, current version 0.
[myapp.app]/Contents/Frameworks/mycustomlib.dylib
otool-L mycustomlib.dylib的输出看起来正确:
@executable_path/../Frameworks/mycustomlib.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
我的myapp.exe.config
文件如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<dllmap dll="sqlite3" target="@executable_path/../Frameworks/mycustomlib.dylib" os="!windows" />
</configuration>
我已经确认它与[myapp.app]/Contents/MonoBundle
中的myapp.exe
一起被复制
我可以通过重新编译Mono.Data.Sqlite
并直接用mycustomlib
替换对sqlite3
的引用来强制实现这一点。然而,dllmap路由要好得多
我错过了什么?如何调试此文件?将dllmap配置从myapp.exe.config
移动到新的Mono.Data.Sqlite.dll.config
文件以使重新映射生效。将dllmap配置从myapp.exe.config
移动到新的Mono.Data.Sqlite.dll.config
文件以使重新映射生效。您做了吗解决过这个问题吗?我完全被这件事缠住了。在我的例子中,我的动态库最终被放在了参考资料中(尽管我想知道你是如何把它放进“Frameworks”文件夹的?)。你在使用Xamarin Studio吗?好的,我刚刚意识到将动态库放到NativeReferences中会创建框架文件夹,虽然我不确定在调试中如何访问它,但你是否也会有框架文件夹?我的dllmap仍然无法工作:pn从未让dllmap工作过。至于/Frameworks文件夹,我有一个构建后shell脚本,它创建了目录结构并将文件移动到其中。您解决过这个问题吗?我完全被这件事缠住了。在我的例子中,我的动态库最终被放在了参考资料中(尽管我想知道你是如何把它放进“Frameworks”文件夹的?)。你在使用Xamarin Studio吗?好的,我刚刚意识到将动态库放到NativeReferences中会创建框架文件夹,虽然我不确定在调试中如何访问它,但你是否也会有框架文件夹?我的dllmap仍然无法工作:pn从未让dllmap工作过。至于/Frameworks文件夹,我有一个构建后的shell脚本,它创建了目录结构并将文件移动到其中。我记得我试过了,但没有成功。。。但我不记得细节了。投票给你,谢谢你的建议。没问题,我只是在尝试使用sqlcipher而不是打包的sqlite3时遇到了同样的问题,这就是我的诀窍。我记得我尝试过,但没有成功。。。但我不记得细节了。向上投票,谢谢你的建议。没问题,我只是在尝试使用sqlcipher而不是打包的sqlite3时遇到了同样的问题,这就是我的窍门。