当我们尝试在设备上调试应用程序(iPhone 5)时出现错误
MT2002:无法解析“System.Linq.Expressions.BlockExpression System.Linq.Expressions.Expression :: Block(System.Type,System.Collections.Generic.IEnumerable`1)”
标记为已解决的错误无法帮助我们。
答案 0 :(得分:3)
如果您使用System.Linq.Expressions
(SLE),则需要考虑一些事项。
这需要代码生成,这在iOS下是不可能的。此功能在Xamarin.iOS上为not supported。 SLE是动态语言运行时(DLR)的一部分;
使用解释器为SLE提供部分支持。这已经与Xamarin.iOS一起发布了很长时间 - 但它只提供了一部分功能。遗憾的是,现有的API与MS使用的API并不完全相同,而且可以
构建时cause issues(例如使用PCL程序集)。这就是为什么你得到那些MT2002
错误(你的程序集试图覆盖一个不存在的成员)。
Xamarin.iOS(7.2.1+)的维护版本包括更好的(更多功能)和API兼容的SLE解释器。
答案 1 :(得分:1)
您需要更改导致此问题的Linq语句。我曾经遇到过这个问题(我使用的是第三方数据库),不幸的是实际设备不支持JIT,但模拟器却支持JIT。你的Linq声明不同。