使用Xamarin for iOS的Late Bound Assemblies

时间:2014-01-28 16:24:50

标签: ios servicestack xamarin

我正在尝试从Mono版本中移植我的一个iOS应用程序 ServiceStack.Text库为JSON的PCL版本 序列化/反序列化。

我让这些库在常规Windows控制台应用程序中工作。当尝试将其移植到iOS应用程序中时,我在ServiceStack扩展方法类上得到“对象引用未设置为对象的实例”异常。错误信息是红鲱鱼;真正的错误是被try / catch弄得一团糟。

ServiceStack.Text.PCL.PclExport中的静态构造函数正在为a进行后期绑定 平台特定的DLL并没有找到那个DLL。构建日志证实了 客户端,接口和Pcl库未与.app文件打包在一起,即使项目级别包含引用。

我已经能够在基本的iOS Hello World应用程序中重现这一点。如果我 添加一行引用Pcl DLL中的方法的代码,三个缺失 库被复制。但是,我仍然得到相同的“对象引用” 设置为对象的实例“错误。

我怀疑这是因为Xamarin编译器不会将DLL转换为iOS二进制文件,除非它们实际使用,并且因为它们已经被束缚了,所以它不知道它们被使用了所以忽略了它们。

1 个答案:

答案 0 :(得分:0)

我认为根据实际iPhone上的许可,后期绑定是否合法?链接是否将所有内容合并为一个exe?

See the Xamarin Linker Docs尝试-nolinkaway选项。