Nuget: Was ist der entsprechende „FrameworkName“ zum Erstellen von Paketen mit Windows Phone 7 -Binärdateien?

StackOverflow https://stackoverflow.com/questions/4766908

Frage

Ich habe gerade ein Nuget -Paket für eines meiner Open -Source -Projekte erstellt und es enthält ein Windows Phone 7 -Binär. Ich habe es gerade getestet und anstatt die 7-spezifische Bibliothek von Windows Phone hinzuzufügen, wurde die Silverlight Library hinzugefügt.

Meine Frage ist, wie kann ich meine Ordnerarchitektur so einrichten, dass der Nuget-Paket-Manager meine WP7-spezifischen Binärdateien erkennt und diese anstelle der Silverlight-Binärdateien installiert?

Ich folgte den hier aufgeführten Anweisungen Für die Ausrichtung mehrerer Frameworks in Nuget -Paketen.

So sieht mein Ordnerbaum derzeit aus:

\lib
    \.NetFramework 4.0
        \MyAssembly.dll
    \Silverlight 4.0
        \MyAssembly.Silverlight.dll
    \Windows Phone 7
        \MyAssembly.Mobile.dll

Was soll ich anders machen?

War es hilfreich?

Lösung

Wir unterstützen WP7 nicht nativ, da es keine Profilunterstützung gibt (der Profilteil des Framework -Namens wird in Ordnern nicht unterstützt). Weitere Informationen finden Sie in dieser Ausgabe http://nuget.codeplex.com/workitem/219.

FWIW: Windows Phone 7 ist Silverlight 4, Profil = Windows Phone.

Im Moment müssen Sie ein weiteres Paket für WP7 erstellen.

Andere Tipps

Es sieht so aus, als wäre dies mit dem fixiert worden letzte Version (1.1) von Nuget. Sie können dies mit dem folgenden Test überprüfen (direkt aus den Nuget -Unit -Tests):

[TestMethod]
public void ParseFrameworkNameWithWPProfileGetNormalizedToWindowsPhone() {
    // Act
    var frameworkName = VersionUtility.ParseFrameworkName("sl4-wp");

    // Assert
    Assert.AreEqual("Silverlight", frameworkName.Identifier);
    Assert.AreEqual(new Version("4.0"), frameworkName.Version);
    Assert.AreEqual("WindowsPhone", frameworkName.Profile);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top