Erste PCL, Mvvmcross, Nuget und Xamarin Studio zu spielen "schön" auf dem Mac
Blick auf die MvvmCross.PortableSupport.3.0.1.nuspec
Mir ist aufgefallen das dort die folgende Zeile:
<file src="_._" target="lib\portable-win+net45+MonoAndroid16+MonoTouch40+sl40+wp71\_._" />.
Ich verstehe, dass nuget ist das erstellen einer Liste der unterstützten frameworks aus dieser Liste (win+...+sl40+wp71) und dass das Projekt, zu dem dieser Bibliothek Hinzugefügt wird, muss die Unterstützung eines dieser frameworks. Im Grunde listet Projekttypen auf, die diesem Hinzugefügt werden können.
Nun, wenn ich zu installieren versuchen, dieses Paket in eine portable Projekt Profile49 dies funktioniert auf Windows, da Profile49 auf Windows net45+wp80.
Jedoch auf dem Mac die Profile49 ist net45+wp80+MonoAndroid10+MonoTouch10.
Dies bedeutet, dass ein nuget-Paket mit den unterstützten frameworks win+net45+MonoAndroid16+MonoTouch40+sl40+wp71 kann nicht installiert werden, an einem Projekt von Profile49 auf Mac, da gibt es frameworks, die mit einer niedrigeren version (MonoTouch10 und MonoAndroid10).
-
Könnte der string portable-win+net45+MonoAndroid+MonoTouch+sl40+wp71 verwendet werden auf dem mvvmcross Seite statt? Irgendeinen Grund für die bestimmte Versionen?
-
Warum die profile geliefert mit Xamarin (z.B. /Library/Frameworks/Mono.Rahmen/Außen - /xbuild-frameworks/.NETPortable/v4.5/Profil/Profile49) gehören MonoTouch10 und MonoAndroid10?
Danke für deine Einblicke.
- Nachdem Sie gereinigt und Xamarin und das Mono.Rahmen Sie den Ordner /Library/Frameworks/Mono.Rahmen/Außen - /xbuild-frameworks/.NETPortable/ verschwunden. Ich bin mir nicht sicher, wo es ursprünglich herkam. Vielleicht habe ich nur kopiert von Windows, ich bin mir ziemlich sicher jedoch, dass ich nicht den Inhalt ändern.
- Die oben genannten arbeiten für Tragbare libs-und Android-Projekte auf Xamarin Studio auf dem Mac.
- wie haben Sie bekommen .NETPortable zurück. Was mir fehlt, ist, dass die Ordner auch.
- /Library/Frameworks/Mono.Rahmen/Außen - /xbuild-frameworks/.NETPortable/ ist der Weg, den ich kopiert von Windows, nicht sicher, ob einer der Alphas oder Betas immer installiert PCLs in diesem Ordner. Die Alpha-version von Schiffen PCLs unter /Library/Frameworks/Mono.framework//Versionen/3.2.2/lib/mono/xbuild-frameworks/.NETPortable/
- danke ich war auf der Suche auf den falschen Ordner. Alpha 3.2.2 nicht installieren .NETPortable Ordner, aber es fehlt 104, die ich kopiert von Windows. Jetzt habe ich alles rückgängig machen, und installieren Sie nuget. 😉
- Ich persönlich bin stabil, die profile von Windows und Profil 104 und Microsoft.Bcl.Async-Paket.
- Sind Sie auf der alpha-Kanal noch? Ich habe ein problem, wo MonoMac wird nicht erkannt, auf das neu-eröffnete Projekte.
- Nein. Ich bin mit dem stabilen Kanal.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update: Wenn Sie den Alpha-Kanal von Xamarin Studio gibt es nicht mehr kopieren müssen PCLs von Windows. Sie können v4.0, Profile158, dies funktioniert auch out of the box mit Async.
Update: ich Hinzugefügt Anweisungen, wie man asynchrone arbeiten in der PCL in diesem Artikel: Xamarin Studio Mac, Portable class library Async und Android, also geht es nach diesem Artikel, wenn Sie arbeiten möchten, mit "async" in Ihrem PCL.
Eine Art funktionierende Lösung zu dem problem, das ich hatte, um Mvvm+PCL+Xamarin Studio auf dem Mac zu arbeiten. Siehe unten für details.
Schritte
Xamarin Studio
Installieren .NETPortable in Mono.Rahmen
Patch Nuget
Einem gepatchten Gabel kann hier gefunden werden: https://nuget.codeplex.com/SourceControl/network/forks/takoyakich/nuget/latest, nimm den 2.7 Zweig. Wenn Sie wollen, um den patch selbst:
Neu starten, Xamarin Studio, wenn Sie hielt es offen.
Testen!
Patch Nuget.Core.dll:
Ab Februar 2014 die oben genannten Schritte sind nicht erforderlich. Mit Xamarin Studio 4.3.2, Alpha-Kanal, und
nuget
addin über das hinzufügenmrward
's add-repository, und erst dann die Installation von nuget addin, ich war in der Lage zu wechseln, das Ziel zup49
und fügen Sie die HotTuna pack direkt auf eine neue PCL-Projekt.