Pregunta

acabo de crear un paquete NuGet para uno de mis proyectos de código abierto e incluye un teléfono de Windows 7 binario. Acabo de prueba y en lugar de añadir el teléfono de Windows 7 biblioteca específica, se añadió la biblioteca Silverlight.

Mi pregunta es, ¿cómo puedo configurar mi carpeta de la arquitectura de tal forma que el gestor de paquetes NuGet reconoce mis binarios WP7-específicas e instala aquellos en vez de los binarios de Silverlight?

I seguido las instrucciones descritas aquí para dirigir múltiples marcos en NuGet paquetes.

Esto es lo que mi árbol de carpetas se ve actualmente como:

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

¿Qué debo hacer diferente?

¿Fue útil?

Solución

Nosotros no apoyamos WP7 forma nativa sin embargo, ya que no hay soporte de perfiles (la parte del perfil de marco el nombre no se admite en las carpetas). Ver este tema para más detalles http://nuget.codeplex.com/workitem/219 .

Fwiw: Windows Phone 7 es Silverlight 4, Perfil = Windows Phone

.

Por ahora vas a tener que crear un nuevo paquete de WP7.

Otros consejos

Parece que esto se ha solucionado con la última versión (1.1) de Nuget . Esto se puede comprobar en la siguiente prueba (tomado directamente de las pruebas unitarias 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);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top