iOS黑屏和MissingMethodException:未找到方法:' System.Type.op_Equality'

时间:2013-01-07 10:02:42

标签: ios xamarin.ios ios-simulator mvvmcross

我开始使用MvvmCross创建一个应用程序。到目前为止,我有一个Android版本和WP运行版本。不幸的是,为iOS创建应用程序并不容易。在模拟器中运行iOS应用程序时,我只得到一个黑屏。在MonoDevelop的Application Output中看到以下异常:

2013-01-07 10:42:20.506 BestSellersTouch[319:21e03] mvx: Diagnostic:   0.09 Exception masked MissingMethodException: Method not found: 'System.Type.op_Equality'.
  at Cirrious.MvvmCross.Touch.Views.Presenters.MvxTouchViewPresenter.CreateView (Cirrious.MvvmCross.Views.MvxShowViewModelRequest request) [0x00000] in <filename unknown>:0 
at Cirrious.MvvmCross.Touch.Views.Presenters.MvxTouchViewPresenter.Show (Cirrious.MvvmCross.Views.MvxShowViewModelRequest request) [0x00000] in <filename unknown>:0 
at Cirrious.MvvmCross.Touch.Views.MvxTouchViewDispatcher+<>c__DisplayClass4.<RequestNavigate>b__3 () [0x00000] in <filename unknown>:0 
at Cirrious.MvvmCross.Touch.Views.MvxTouchUIThreadDispatcher+<>c__DisplayClass1.<InvokeOrBeginInvoke>b__0 () [0x00000] in <filename unknown>:0 
2013-01-07 10:42:20.508 BestSellersTouch[319:21e03] Application windows are expected to have a root view controller at the end of application launch

此错误是否导致黑屏?

1 个答案:

答案 0 :(得分:1)

仅在System.Type.op_Equality 4.0(及更高版本)编译程序集时才存在对mscorlib.dll的引用。

当前版本的MonoTouch不支持4.0(并且该成员不是程序集的一部分),这会在运行时导致此异常。

直到MonoTouch支持4.0(今年春天)的解决方案是重建程序集并确保它引用MonoTouch附带的mscorlib.dll

在呈现视图时抛出此异常的事实可能黑屏的原因(没有执行任何操作以显示任何内容)。