2016-07-08 19 views
24

Stiamo eseguendo l'esempio 'Benvenuti in Xamarin` su Visual Studio Enterprise, utilizzando l'ultimo Xamarin, in ambiente Windows 8.1.Avviso System.ObjectModel Xamarin non funziona su Android

Stiamo riuscendo a creare ed eseguire su Windows e Apple, ma stiamo riscontrando problemi con Android.

Errore: La componente di riferimento System.ObjectModel non è stato trovato.

Gli errori possono essere visti nella schermata qui sotto:

See screenshot

Abbiamo già provato a cercare on-line per le soluzioni, abbiamo trovato un po ', che abbiamo provato, ma senza alcun risultato.

D'altra parte, Xamarin è compatibile con Windows 8.1? Forse alcuni requisiti Android richiedono effettivamente un ambiente Windows 10.

Qualsiasi aiuto sarebbe apprezzato.

+6

prega di non pubblicare errori come le immagini - questi non sono indicizzabili dai motori di ricerca. Prenditi il ​​tempo per pubblicare il testo del messaggio di errore. – Jason

+1

Xamarin e Visual Studio sono così frustranti. Soluzione nuovissima, aggiornamento dei moduli xamarin e pronto per l'uso. Ho dovuto letteralmente risolvere questo riferimento manualmente aggiungendo la DLL da: C: \ Programmi (x86) \ Assiemi di riferimento \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ Facades \ System.ObjectModel.dll. Sono molto secondo a indovinare me stesso per provare Xamarin ... –

+0

@Jason Mi manca la cartella MonoAndroid, ho perso un passaggio da qualche parte? –

risposta

18

Fare clic con il pulsante destro del mouse sui riferimenti del progetto Android e aggiungere manualmente il riferimento: C: \ Programmi (x86) \ Assiemi di riferimento \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ Facades \ System.ObjectModel.dll. E tecnicamente è un avvertimento, non un errore.

+0

Lo faccio ma l'avvertimento è ancora lì. – Jon

+0

@Jon assicurati che il percorso della DLL sia corretto e leggibile (autorizzazioni di sicurezza). Se fallisce, guarda il tuo .csproj in particolare cercando percorsi non validi per tutti i pacchetti di nuget. Ultimo pensiero che posso pensare è assicurarsi di essere completamente aggiornato (VS, Xamarin, Xamarin Studio sul tuo Mac, tutto).Non ho visto questo errore da un po 'di tempo. –

+1

Ho aggiornato VS e Xamarin, la cartella Facade e System.ObjectModel.dll hanno permesso di leggere ed eseguire. E non ci sono percorsi non validi nel file .csproj. – Jon

13

Ho semplicemente rimosso completamente il riferimento poiché nessuno del mio codice lo ha effettivamente utilizzato.

+0

Solo così altri sanno che questa dll contiene interfacce come INotifyPropertyChanged e ICommand, quindi non posso rimuoverlo. – Helzgate

+3

@Helzgate Puoi rimuoverlo dal tuo progetto Xamarin.Android se non usi 'INotifyPropertyChanged' e' ICommand' all'interno del tuo progetto Xamarin.Android, cosa che non faccio. Io uso solo quelle classi nel mio progetto PCL e rimuoverlo dal mio progetto Xamarin.Android non ha avuto effetti negativi finora. – hvaughan3

0

Provare a spostarlo sul desktop, quindi aggiungerlo come ref in soluzione. ha funzionato per me, lo studio visivo ha avuto accesso a tutti gli altri ref ma, per qualche motivo, il dident ha accesso a quel ref specifico. Così l'ho spostato, e penso che abbia dato accesso allo studio visivo. semplicemente prova a spostarlo dove l'accesso non sarà un problema.

+0

Dovresti spiegare perché questo sarebbe di aiuto, piuttosto che dirgli semplicemente cosa fare. – Adam

0

Copia dll e incolla nella cartella dei pacchetti. Cambia riferimento a nuova posizione ed esegui il progetto. Certo che è una soluzione temporanea. È possibile controllare un'altra posizione per il percorso senza spazi bianchi nel nome della cartella. ovee

4

Nel pacchetto tipo di console manager: (Selezionare il progetto Android)

update-package -reinstall 

è più lento, ma è il metodo corretto e funziona sempre

+1

Questa è la migliore risposta. Altre risposte sono soluzioni alternative. Questa è una soluzione. – Dpedrinha

+1

Ho provato questo e non ha risolto il problema, questo è probabilmente il motivo per cui i voti non sono d'accordo con il commento di @ Dpedrinha. –