System.Reflection.Emit.DynamicMethod尝试部署到iOS设备时出现错误,模拟器工作正常

时间:2017-08-30 08:26:08

标签: xamarin.ios xamarin.forms

我正在为Android和iOS构建一个Xamarin Forms应用程序。到目前为止,我一直在提供的模拟器上测试iOS版本没有问题。

尝试使用最新的iOS更新在iPhone 6S上进行测试时,出现以下构建错误:

  

无法解析引用'System.Reflection.Emit.DynamicMethod',   从方法'System.Func 2<System.Object,System.Object> System.Web.Http.Metadata.Providers.AssociatedMetadataProvider 1 :: CreateDynamicValueAccessor(System.Reflection.MethodInfo,System.Type,System.String)'引用   在'mscorlib,版本= 4.0.0.0,文化=中立,   公钥= b77a5c561934e089' 。

有什么建议吗?

由于

1 个答案:

答案 0 :(得分:1)

iOS不支持使用System.Reflection.Emit,因为iOS禁止动态代码生成。这是一个Xamarin limitation

  

Reflection.Emit是关于动态生成代码并将代码JITed并编译为本机代码。由于iPhone的限制(没有JIT编译),这是不受支持的。

它可能是由某些第三方lib引起的,您可以将其更新到相应的版本以进行尝试,例如Debugging linker errors

或者您可以将lib添加到xamarin.ios项目中进行尝试,请参阅xamarin build pass on simulator but fails on real device