【发布时间】:2015-04-13 06:10:27
【问题描述】:
我正在使用 Xamarin.Android,有一个像这样设置的项目
- Windows 原生库 (NativeMethods.dll)
- Android 原生库 (NativeMethods.so)
- 可移植的 P/Invoke 库,DllImport 到 NativeMethods.dll
- Windows 应用程序(使用可移植的 P/Invoke 库 + Windows 原生库)
- Android 应用程序(使用可移植的 P/Invoke 库 + Android 原生库)
使用单声道,可以简单地使用 App.config 中的dllmap 将任何 DllImports 重新映射到 NativeMethods.dll 到 NativeMethods.so
我试过了,但我似乎无法让它与 Xamarin.Android 一起使用。我想避免编译两个 MSIL P/Invoke 库以及两个本机库(Android 和 Windows 各一个)。
这是我的 app.config 的样子
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<dllmap dll="NativeMethods.dll" target="NativeMethods.so"/>
</configuration>
我在 P/Invoke DLL 项目、Xamarin.Android 应用程序项目中尝试了这个,但它在任何地方都不起作用。我发现我的问题的唯一参考是this iOS 的类似参考。有没有人遇到/解决过这个问题?我错过了什么?如果为 Xamarin.iOS 执行此操作的解决方案有什么不同,我也会感兴趣,因为这将是我需要定位的下一个平台。
提前致谢!
【问题讨论】:
标签: c# mono xamarin.ios xamarin.android dllimport