我开始使用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
此错误是否导致黑屏?
答案 0 :(得分:1)
仅在System.Type.op_Equality
4.0(及更高版本)编译程序集时才存在对mscorlib.dll
的引用。
当前版本的MonoTouch不支持4.0(并且该成员不是程序集的一部分),这会在运行时导致此异常。
直到MonoTouch支持4.0(今年春天)的解决方案是重建程序集并确保它引用MonoTouch附带的mscorlib.dll
。
在呈现视图时抛出此异常的事实可能黑屏的原因(没有执行任何操作以显示任何内容)。