2013-03-01 13 views
6

Ich habe ein Problem in meinem Projekt, wo ich PCL für .Net 4.5, Windows Phone 8, WinRT, MonoTouch und MonoDroid, wenn ich versuche MonoDroid oder MonoTouch-Projekt zu bauen, die Referenz haben Folgende PCL-Fehler treten auf:Portable Class Library Assembly Referenz Probleme in MonoDroid und MonoTouch

* Fehler 1 Der Typ 'System.Object' ist in einer Assembly definiert, die nicht referenziert wird. Sie müssen einen Verweis auf die Assembly 'System.Runtime, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' hinzufügen.

Fehler 2 Der Typ 'System.Enum' ist in einer Baugruppe definiert, die nicht auf verweist. Sie müssen einen Verweis auf die Assembly 'System.Runtime, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' hinzufügen.

Ich habe suggested Kommando (sn -Vr *, b03f5f7f11d50a3a), aber es half nicht. Ich verwende das folgende Profil:

Antwort

3

Wenn Sie die Kompatibilität von .NET 4.5 zu .NET 4.0.3 festlegen, wird es funktionieren.

+0

Welches tragbare Profil haben Sie verwendet? – user2087302

+0

Ich verwende Profile131. (.NET> = 4.0.3, Silverlight> = 4, Windows Phone> = 7.5, Windows Store Apps, XBox) und es funktioniert gut mit Xamarin.Android, Xamarin.iOS) – dna

1

Wenn ich ähnliche Fehler in Profil 104 festgestellt habe, dann habe ich gefälschte System-Assemblys wie System.Windows.dll und System.Net.dll, die die Klassen in Frage weiterleiten. Ich habe diese gefälschten Assemblies verzögert signiert - glücklicherweise scheinen MonoDroid und MonoTouch diese Verzögerungen nicht zu sorgfältig zu prüfen.

Die Beispiele hierfür sind unter: https://github.com/slodge/MvvmCross/tree/v3/PortableSupport

Ich denke, würde man das gleiche mit 2 System.Runtime Baugruppen gegen MonoDroid und Monotouch und Typ-Spedition System.Object und System.Enum verknüpft tun könnte.

Ich hoffe, Xamarins PCL-Unterstützung wird bald ausgeliefert - und wird offizielle Version für diese Shim-Baugruppen enthalten.

+0

Ich habe versucht, System.Runtime Shim von Daniel's zu verwenden AsyncFacade-Projekt, aber es hat nicht geholfen. Ich habe auch versucht, Versionen von 1.0.0.0 zu 4.0.0.0 zu ändern. –

+1

Tweet von @DavKean gesendet auch - "Haben Sie versucht, die unter C: \ Programme (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5 \ Fassaden?" – Stuart

+0

Ich werde es jetzt versuchen. Habe schon meine Änderungen zurückgerollt, brauche also ein paar Minuten. –

Verwandte Themen