MVVM Cross-Unterstützung für Xamarin Studio auf einem Mac

8

Ich habe die Verwendung von MVVM Cross in Xamarin Studio auf einem Mac untersucht. Ich habe die Tutorials für N + 1 Tage von MvvmCross auf YouTube durchgearbeitet und bin gelaufen in eine Straßensperre, die hoffentlich jemand anderes erlebt hat.

Die Tutorials verwenden PCLs und VS 2012, aber da ich auf einem Mac bin, muss ich Xamarin Studio verwenden. Ich verstehe, dass PCLs in Xamarin Studio nicht unterstützt werden. Daher habe ich ein Basis-C # -Projekt erstellt und die Bibliotheken dann mit einem Xamarin.Android-Projekt verknüpft. Ich habe eine ganze Reihe von MvvmCross-Beiträgen gelesen, einschließlich diesem aber nicht in der Lage gewesen, eine Lösung zu finden.

Das Projekt wird erfolgreich erstellt und scheint erfolgreich auf dem Emulator bereitgestellt zu werden. Die App kann jedoch nicht auf dem Emulator ausgeführt werden. Die App wird sofort geschlossen, und der einzige Fehler, den ich erhalte, ist die folgende nicht beschreibende Nachricht in der Anwendungsausgabe von Xamarin Studio.

%Vor%

Ich habe mehrere Haltepunkte gesetzt, aber sie können nicht ausgelöst werden. Es scheint, dass der Fehler auftritt, bevor mein Code ausgeführt wird. Ich habe den Beispielcode für das Projekt heruntergeladen und es lief erfolgreich, so ging ich dann Zeile für Zeile auf Fehler überprüfen, aber ohne Erfolg (ich habe sogar meine Klassen-Dateien mit denen aus dem Beispiel ersetzt. Ich habe bestätigt, dass alle DLLs sind Ich verwende die vorkompilierten Bibliotheken von Ссылка .

Ich bin mir wirklich nicht sicher, wohin ich als nächstes gehen soll, um die Ursache dieses Fehlers zu ermitteln. Hat jemand anderes das erlebt? Ich weiß, dass sowohl Xamarin als auch MvvmCross sich auf die Integration von Visual Studio und die PC-Entwicklung konzentrieren. Ist MvvmCross stabil genug, um in Xamarin Studio für einen Mac verwendet zu werden? Weiß jemand, was mein Fehler sein könnte, oder was als nächstes zu versuchen?

Ich weiß, dass dies ein ziemlich undefiniertes Problem ist, aber ich hoffe, dass ich nicht der Einzige bin, der das erlebt. Ich habe versucht, so beschreibend wie möglich zu sein, aber wenn jemand mehr Informationen benötigt, lass es mich wissen. Danke.

    
Matthew 23.05.2013, 00:37
quelle

3 Antworten

5
  

Hat jemand anderes das erlebt?

Niemand, den ich gesehen habe.

  

Ich weiß, dass sowohl Xamarin als auch MvvmCross sich auf Visual Studio-Integration und PC-Entwicklung konzentrieren

Dies ist definitiv nicht wahr für Xamarin - in der Tat (meiner Meinung nach) ist das Gegenteil der Fall - ich denke, sie arbeiten "Xamarin Studio auf einem Mac" zuerst, mit Visual Studio Unterstützung zweiten.

Für MvvmCross arbeite ich in der Regel zuerst Visual Studio - das liegt hauptsächlich daran, dass ich Windows-Projekttypen (Wpf, WindowsPhone, WindowsStore) verwenden muss, weil ich lieber PCLs verwende und weil Resharper meine Programmierseele besitzt.

  

Ist MvvmCross stabil genug, um in Xamarin Studio für einen Mac verwendet zu werden?

Das ist eine zu subjektive Frage, die ich beantworten muss. Ich kann dir sagen, dass viele Mac-Leute es benutzen ... und dass niemand, der es versucht hat, sich dann zu mir umgedreht hat und mir gesagt hat, dass MvvmCross nicht stabil genug ist.

Die Situation mit Xamarin PCL-Unterstützung entwickelt sich weiter - der aktuelle Support scheint sich mit jeder Veröffentlichung ein wenig zu ändern, und es gibt eine große PCL-Veröffentlichung, die irgendwann sehr bald kommen wird. Dies ist jetzt für jeden Tag geplant - also kann ich definitiv nicht behaupten, dass die PCL-Situation momentan stabil ist.

Die NuGet 2.5-Unterstützung ändert sich ebenfalls - siehe Ссылка - ich habe keine Ahnung, wann dies der Fall ist wird vollständig verfügbar sein oder wird über PCLs auf dem Mac wissen, aber zumindest hat der Aufwand begonnen.

Hinweis: Wenn Sie möchten, können Sie immer mit Xamarin-Projekttypen und mit Dateiverknüpfungen anstatt mit PCL-Projekttypen arbeiten. Nur weil MvvmCross intern PCLs verwendet, bedeutet das nicht, dass Sie es müssen.

  

Weiß jemand, was mein Fehler sein könnte

?

Ich habe keine Ahnung, was Ihr Fehler ist - dass NullReferenceException ist nicht der ausführlichste Fehler :( Sie könnten möglicherweise mehr Spuren von Logcat bekommen? Ansonsten könnten Xamarin Foren oder Support in der Lage sein assistieren.

  

Was als nächstes zu versuchen?

Ich habe das heutige N + 1 ausschließlich auf dem Mac ohne Nuget aufgenommen.

Dies wird derzeit hochgeladen:

Dies ist eine "Warts and All" Live-Demo von mir, die ein erstes Android- und iOS-Projekt mit MvvmCross und PCLs auf dem Mac entwickelt. Natürlich können Sie einige Probleme mit Dingen wie Xamarin Studio intellisense und mit Android-Emulator-Debugging sehen (beachten Sie, dass diese Debugger / Emulator-Probleme unabhängig von MvvmCross und PCLs sind!)

Ich glaube, das zeigt auch, dass Xamarin.iOS gerade jetzt auf dem Mac viel mehr mvvmcross / pcl-freundlich ist als xamarin.android - aber beide können verwendet werden.

Beachten Sie, dass ich für diese Demo die Assemblys aus dem VS-Ordner in Ссылка

verwende     
Stuart 23.05.2013, 10:08
quelle
2

Ich habe das gleiche Problem.

Ich habe die Migration meiner Codelösung zu einem anderen neuen Projekt gelöst. Es gab kein Problem mit PCL und Projekt Link Assembly.

Ich weiß nicht, warum meine Lösung kaputt war. Ich vermute etwas über den Paket-Namespace, der in .xaml und in der Projektoption konsistent sein muss.

    
Luigi Saggese 30.05.2013 07:15
quelle
0

Ich weiß, dass dies eine alte Frage ist, aber da es keine wirkliche Antwort auf die ursprüngliche Frage über die Nullreferenzausnahme gibt, ist hier ein Problem, das ich gefunden und gelöst habe, das sich ziemlich ähnlich anfühlt - Xamarin.Forms App wird nicht auf Android-Geräten ausgeführt.

    
Mark Larter 04.09.2014 19:33
quelle