Digamos que tengo la siguiente solución con múltiples versiones del mismo código, cada una apuntando a un marco diferente y me gustaría generar un paquete nuget a partir de ella.Nuget - empaquetando una solución con múltiples proyectos (apuntando a múltiples frameworks)
SharedLib.sln
SharedLib.Net35.csproj
packages.config
SharedLib.Net40.csproj
packages.config
SharedLib.Phone.csproj
packages.config
SharedLib.SL4.csproj
packages.config
El nupkg esperada tiene la siguiente estructura
SharedLib.1.0.nupkg
lib/net35/SharedLib.dll
lib/net40/SharedLib.dll
lib/sl4-wp/SharedLib.dll
lib/sl4/SharedLib.dll
nuget.exe pack SharedLib.SL4.csproj
determinará automáticamente que el marco objetivo SilverLight4 y colocar los archivos binarios en lib/sl4
Sé que puedo agregar un archivo SharedLib.SL4.nuspec
con una sección <file>
para incluir binarios de los otros proyectos, pero ¿hay alguna manera de hacer que nuget coloque automáticamente la salida de solución combinada en la estructura adecuada? ture (y también detectar dependencias en packages.config de todos los proyectos?
yo podría hacer eso aunque no estoy completamente hecho averiguar qué es lo que quiero :) 1. sería bueno señalar Nuget a una solución y lo han resolverlo todo 2. se Sería bueno si las diferentes versiones de framework dentro del paquete resultante pudieran tener diferentes dependencias. p.ej. la versión de WP puede necesitar un paquete adicional que proporcione tipos que no sean parte del núcleo de WP. Voy a marcar su respuesta como aceptada por ahora y pensar un poco más sobre el tema. –
Correr nuget pack en un sln sería genial. Quiero empaquetar un conjunto de ensamblajes relacionados en un solo paquete para facilitar la administración de los paquetes separados. No son dependientes el uno del otro. – PenFold
La razón por la que esta es una victoria es para servidores de compilación que son muy convenientes para compilar y publicar un paquete para un solo proyecto, pero se convierten en una pesadilla cuando necesita lo anterior. Para mí, también falta una historia crítica que hace que toda la función sea redundante. ¿Quién * no * necesita empaquetar para cada CLR? –