当我们尝试在设备 (iPhone 5) 上调试应用程序时出现错误
MT2002: Failed to resolve "System.Linq.Expressions.BlockExpression System.Linq.Expressions.Expression::Block(System.Type,System.Collections.Generic.IEnumerable`1)"
这个标记为已解决的错误对我们没有帮助。
最佳答案
如果您使用 System.Linq.Expressions
(SLE),即使是间接使用,也需要考虑一些事项。
这需要代码生成,而这在 iOS 下是不可能的。此功能是 not supported在 Xamarin.iOS 上。 SLE 是动态语言运行时 (DLR) 的一部分;
使用解释器对 SLE 提供部分支持。它已经随 Xamarin.iOS 一起提供了很长时间——但它只提供了一部分功能。遗憾的是,现有的 API 与 MS 使用的 API 并非 100% 相同,它可以 cause issues构建时(例如使用 PCL 程序集)。这就是您收到那些
MT2002
错误的原因(您的程序集试图覆盖一个不存在的成员)。Xamarin.iOS 的维护版本 (7.2.1+) 包括更好(更多功能)和 API 兼容的 SLE 解释器。
关于ios - 在 iPhone 5 上尝试调试应用程序时出现 Xamarin iOS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22308242/