我正在尝试使用MonoMac的自定义sqlite版本,有效地按照此question。
但是,使用dllmap似乎无法正常工作。
我的自定义dylib正在部署到[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.exe
中的[MyApp.app]/Contents/MonoBundle
一起复制。
我可以通过重新编译Mono.Data.Sqlite
并直接将sqlite3
的引用替换为mycustomlib
来强制执行此操作。但是,dllmap路由要好得多。
我错过了什么?我该怎么调试呢?
答案 0 :(得分:1)
将dllmap配置从green
移至新的myapp.exe.config
文件,以使重映射生效。