NuGet: Qual è l'appropriato “FrameworkName” per la creazione di pacchetti con Windows Phone 7 binari?
-
16-10-2019 - |
Domanda
Ho appena creato un pacchetto NuGet per uno dei miei progetti open source e include un Windows Phone 7 binario. Ho appena provato e invece di aggiungere la libreria 7-specifico di Windows Phone, ha aggiunto la biblioteca Silverlight.
La mia domanda è: come posso impostare la mia architettura cartella in modo che il gestore di pacchetti NuGet riconosce i miei binari WP7-specifici e installa quelli invece dei binari Silverlight?
Ho seguito le istruzioni elencate qui per il targeting più quadri in NuGet pacchetti.
Ecco quello che la mia struttura di cartelle attualmente appare come:
\lib
\.NetFramework 4.0
\MyAssembly.dll
\Silverlight 4.0
\MyAssembly.Silverlight.dll
\Windows Phone 7
\MyAssembly.Mobile.dll
Cosa dovrei fare diversamente?
Soluzione
Noi non supportiamo WP7 nativamente ancora poiché non v'è alcun supporto del profilo (la parte del profilo del nome quadro non è supportato in cartelle). Vedere questo problema per maggiori informazioni http://nuget.codeplex.com/workitem/219 .
FWIW: Windows Phone 7 è Silverlight 4 Profilo = Windows Phone
.Per il momento si dovrà creare un altro pacchetto per WP7.
Altri suggerimenti
Sembra che questo è stato risolto con la ultima versione (1.1) di NuGet . Lo si può verificare con il seguente test (preso direttamente dal test di unità Nuget):
[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);
}