2013-01-07 1 views
1

Je commence à créer une application en utilisant MvvmCross. Jusqu'à présent, j'ai une version pour Android et pour WP en cours d'exécution. Malheureusement, créer l'application pour iOS n'est pas facile. Lors de l'exécution de l'application iOS dans le simulateur, je n'ai qu'un écran noir. Dans la sortie de l'application de MonoDevelop est de voir l'exception suivante:iOS écran noir et MissingMethodException: Méthode non trouvée: « System.Type.op_Equality »

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 

Est-ce l'erreur à l'origine d'un écran noir?

Répondre

1

Les références à System.Type.op_Equality existent uniquement lorsqu'un assembly est compilé par rapport à mscorlib.dll 4.0 (et versions ultérieures).

La version actuelle de MonoTouch ne prend pas en charge 4,0 (et membre ne fait pas partie de l'assemblage) qui conduisent à cette exception lors de l'exécution.

La solution, jusqu'à ce que MonoTouch supporte 4.0 (ce printemps) est de reconstruire l'ensemble et assurez-vous qu'il se réfère à la mscorlib.dll livré avec MonoTouch. Le fait que cette exception soit levée lors de la présentation d'une vue est probablement la raison de votre écran noir (rien n'a été exécuté pour afficher quoi que ce soit dessus).

+0

Savez-vous comment reconstruire MvvmCross et utiliser le mscorlib.dll de MonoTouch? Si oui, pouvez-vous me dire ou fournir une URL? Je – cengelen

+0

jamais utilisé MvvmCross moi-même - mais si vous créez un projet de bibliothèque MonoTouch, de MonoDevelop, vous obtiendrez une construction qui font référence à la MT MSCorLib.dll automagiquement. Si vous utilisez d'autres outils, vous devez vous assurer que le bon est référencé. – poupou

+0

cela ressemble à @poupou a identifié le problème au moins un peu correctement (il saura beaucoup mieux que moi sur les détails Monotouch vs Monodroid). Je pense que cela a à voir avec les projets portables de la bibliothèque de classes qui ne sont pas encore portables dans Mono - ils le seront à un certain moment, mais pas encore :(Pour réparer, vous pouvez créer les dlls MvvmCross pour MonoTouch - ou les version non officielle) sont partagés dans mon dossier SkyDrive http://sdrv.ms/URCbYN - utiliser le dossier portableMac sur MonoTouch, utilisez les autres dossiers lors de la construction sur le PC (WP, WinRT, MonoDroid) – Stuart