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

我开始使用MvvmCross创build一个应用程序。 到目前为止,我有一个适用于Android和WP运行的版本。 不幸的是,为iOS创build应用程序并不容易。 在模拟器中运行iOS应用程序时,我只能看到一个黑屏。 在MonoDevelop的应用程序输出中看到以下exception:

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 

这个错误是否导致黑屏?

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

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

解决scheme,直到MonoTouch支持4.0(今年spring)是重build程序集,并确保它引用与MonoTouch一起提供的mscorlib.dll

呈现视图时抛出exception的事实可能就是黑屏的原因(没有任何东西被执行来显示任何内容)。