Mar*_*l W 5 .net xamarin.ios ios
我正在开发一个使用大量反射的iOS/MonoTouch项目.一切都很好,但是当我编译Debug | iPhone版本时,我得到错误:
错误MT2002:无法解析引用:System.Boolean System.Reflection.PropertyInfo :: op_Equality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo)
有趣的是,Release | iPhone版本运行良好.
有什么不对?
.NET 4.0及更高版本中提供了内部命名的==运算符重载.Iow它在MonoTouch(它是Silverlight,2.1,配置文件的超集)的版本中不可用.PropertyInfoop_Equalitymscorlib.dll
发生的事情可能是构建Debug(与Release)时使用的预编译程序集的不同版本.此版本使用MonoTouch中没有的方法,这会在链接或AOT-ing您的应用程序时导致错误.
解决方案:使用MonoTouch附带的mscorlib.dll版本重新编译此程序集.这将避免引用op_Equality(和使用Equals),并且构建应该正常工作.