2013-05-23 14 views
8

Ho esplorato l'uso di MVVM Cross su Xamarin Studio su un Mac. Ho seguito le esercitazioni per N+1 days of MvvmCross su YouTube e mi sono imbattuto in un roadblock che, si spera, sia stato sperimentato da qualcun altro.Supporto MVVM Cross per Xamarin Studio su un Mac

Le esercitazioni utilizzano PCL e VS 2012, ma poiché sono su un Mac, devo utilizzare Xamarin Studio. Comprendo che i PCL non sono supportati in Xamarin Studio, quindi ho creato un progetto C# di base e ho collegato le librerie a un progetto Xamarin.Android. Ho letto parecchi post di MvvmCross incluso this one ma non sono riuscito a trovare una soluzione.

Il progetto viene compilato correttamente e sembra distribuire correttamente nell'emulatore, ma non riesco a far funzionare l'app sull'emulatore. L'app si chiude immediatamente e l'unico errore che ricevo è il seguente messaggio non descrittivo nell'output dell'applicazione di Xamarin Studio.

[monodroid-gc] GREF GC Threshold: 1800 
[mono] Stacktrace: 
[mono] 
[mono] 
[mono] Unhandled Exception: 
[mono] System.NullReferenceException: Object reference not set to an instance of an object 
[mono] [ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object 

ho impostato più punti di interruzione, ma non riesco a ottenere qualsiasi loro di fuoco, appare l'errore si verifica prima che il mio codice viene eseguito. Ho scaricato il codice di esempio per il progetto ed è stato eseguito correttamente, quindi sono andato riga per riga per verificare gli errori ma senza successo (ho persino sostituito i miei file di classe con quelli dell'esempio. Ho confermato che tutte le DLL sono Sto usando le librerie precompilate da https://github.com/slodge/MvvmCross-Binaries.

Non sono davvero sicuro di dove andare per determinare la causa di questo errore. Qualcun altro lo ha provato? So che sia Xamarin che MvvmCross si concentrano su Visual Studio integrazione e sviluppo del PC: MvvmCross è abbastanza stabile da poter essere usato su Xamarin Studio per Mac? Qualcuno sa quale potrebbe essere il mio errore o cosa provare dopo?

So che questo è un problema abbastanza indefinito, ma spero Non sono l'unico a sperimentare questo. Ho provato a b e un descrittivo possibile, ma se qualcuno ha bisogno di maggiori informazioni, per favore fatemelo sapere. Grazie.

+0

Hai trovato una soluzione a questo problema?Sono sul tuo stesso caso –

+0

No, non ho trovato una soluzione a questo particolare problema. Non sono ancora nemmeno sicuro di cosa l'abbia causato perché un altro progetto ha funzionato bene. Ho finito per passare a PCL. – Matthew

+0

Prova a ricaricare tutti i file in un altro progetto e controlla se il problema persiste. Ho lo stesso problema come te e risolvono per me –

risposta

5

Qualcun altro ha provato questo?

Nessuno che ho visto.

So sia il fuoco Xamarin e MvvmCross sull'integrazione di Visual Studio e sviluppo PC

Questo sicuramente non è vero per Xamarin - di fatto (a mio parere) è vero il contrario - penso che lavorare prima su "Xamarin Studio su Mac", con il supporto di Visual Studio secondo.

Per MvvmCross, in genere lavoro prima su Visual Studio, principalmente perché ho bisogno di utilizzare i tipi di progetti Windows (Wpf, WindowsPhone, WindowsStore), perché preferisco usare PCL e perché Resharper possiede la mia anima di codifica.

MvvmCross è abbastanza stabile da poter essere utilizzato su Xamarin Studio per Mac?

Questa è una domanda troppo soggettiva per me rispondere. Posso dirvi che molti Mac-people lo usano ... e che nessuno che ha provato si è poi voltato verso di me e mi ha detto che MvvmCross non era abbastanza stabile.

La situazione con il supporto Xamarin PCL si sta evolvendo - il supporto attuale sembra cambiare un po 'ad ogni versione attualmente, e c'è un grande rilascio di PCL che arriverà ad un certo punto molto presto. Questo è programmato per ogni giorno ora - quindi non posso assolutamente affermare che la situazione PCL è attualmente stabile.

Anche il supporto NuGet2.5 sta cambiando - vedere https://github.com/mrward/monodevelop-nuget-addin/issues/13 - Non ho idea di quando questo sarà completamente disponibile o sapremo dei PCL sul Mac, ma almeno lo sforzo è iniziato.

Nota: Se si vuole, allora si può sempre lavorare con i tipi di progetto Xamarin e con file di collegamento invece che con tipi di progetto PCL. Solo perché MvvmCross utilizza internamente PCL non significa che tu debba farlo.

Qualcuno sa che cosa può essere il mio errore

Non ho idea di che cosa il vostro errore è lì - che NullReferenceException non è l'errore più dettagliato :(Potreste essere in grado di ottenere più traccia da logcat? oltre a questo, forum o supporto Xamarin potrebbero essere in grado di assistere.

che cosa da provare dopo?

Ho registrato l'N + 1 di oggi solo su Mac senza Nuget.

Questo è attualmente il caricamento di:

tratta di un 'bene e nel male' live demo di me sviluppo di un primo progetto Android e iOS utilizzando MvvmCross e PCLS su Mac. Chiaramente è possibile vedere alcuni problemi con le cose come Xamarin Studio IntelliSense e con il debug emulatore di Android (si noti che questi problemi debugger/emulatore sono indipendenti MvvmCross e PCLS!)

Credo che questo dimostra anche che in questo momento oggi sul Mac, Xamarin.iOS è molto più mvvmcross/pcl friendly di xamarin.android - ma entrambi sono possibili da usare.

Si noti che per questa demo, io uso le assemblee dalla cartella VS in https://github.com/slodge/mvvmCross-binaries/

+0

Grazie mille per la risposta rapida. Sono impressionato dalle risposte veloci che sei in grado di fornire. Continuerò a provare a farlo funzionare perché sono davvero interessato all'utilizzo di una metodologia Mvvm. In base alla tua risposta, sembra che non ci siano problemi fondamentali che sto incontrando. Verificherò alcuni dei link a cui fai riferimento e vedrò se riesco a capire cosa mi è mancato. Grazie ancora per la risposta. – Matthew

+0

Nella tua pagina GitHub hai chiesto aiuto con la documentazione. Ovviamente non ho familiarità con Mvx ma, mentre passo un po 'di tempo a imparare, posso fornire aiuto con la documentazione? – Matthew

+0

post su tale questione GitHub - Johannes (o qualcuno) risponderà – Stuart

2

sono stato lo stesso problema.

Ho risolto la migrazione della mia soluzione di codice in un altro nuovo progetto. Nessun problema con PCL e assemblaggio del collegamento del progetto.

Non so perché la mia soluzione è stata interrotta. Sospetto qualcosa sullo spazio dei nomi dei pacchetti che deve essere coerente in .xaml e opzione di progetto.

0

So che questa è una vecchia domanda, ma poiché non esiste una risposta reale alla domanda originale sull'eccezione di riferimento null, ecco un problema che ho riscontrato e risolto che sembra abbastanza simile - Xamarin.Forms app will not run on Android device.

Problemi correlati