Nupack es una manera fácil de producir un paquete Nuget para .NET 4.0+ basado en AssemblyInfo o NUSPEC cuando se construye con Visual Studio. Está materializado como un paquete Nuget.
Cuando Nupack es referencia por un proyecto, no se crea dependencia, solo hay un nuevo paso de compilación para empacar automáticamente la salida del proyecto en un paquete Nuget con el nombre del proyecto como ID.
Cuando se detecta un archivo .nuspec como parte del proyecto, Nupack respeta la especificación y no aplica ninguna configuración automática para producir el paquete NUGET esperado.
Producir una biblioteca simple (carpeta LIB) con dependencias de paquetes NUGET. Este patrón se aplica automáticamente cuando no hay un archivo .nuspec detectado para el proyecto de la biblioteca de tipos.
Cuando el paquete se basa en la aplicación de la consola y no se declara .nuspec, un directorio de compilación se define con un archivo .Targets para proporcionar una forma simple de agregar un paso de acción de compilación como publicación de publicación con 5 argumentos:
Las dependencias pueden ser paquetes Nuget, referencias de proyectos, etc. Deben incluir recursivamente en el paquete Nuget generado con una forma adecuada.
NUGET Process no propaga la documentación XML y los recursos de dependencia en la producción y no se puede considerar en el proceso de embalaje de Nupack. Permita que Nupack se propague automáticamente a mantener una estructura y documentación limpias en cada nodo.
Nupack puede proporcionar una biblioteca para desarrollar un complemento como paquete Nuget. Detectará el complemento de paquete.config y lo cargará desde la carpeta Nupack para agregar un comportamiento adicional a Nupack. El complemento se llamará con argumentos pasados a Nupack y producirá un paquete de paquetes de paquete original antes de guardar el resultado. El complemento se elimina después de la creación de Nuget.
Nupack tiene que crear un paquete específico para almacenar el complemento (biblioteca) en la carpeta Nupack cuando el proyecto referencia nupack.extension.
Cuando se hace referencia a Nupack por una aplicación de consola llamada [Biblioteca] .Optimizador y referencia a una biblioteca llamada [Biblioteca], se realiza un patrón de optimizador. El paquete Nuget generado contiene el [biblioteca] .dll en la carpeta lib y [biblioteca] .optimizer.exe se coloca en la carpeta de compilación con un archivo .targets para ejecutar optimizador en el edificio posterior con los mismos argumentos que la acción de compilación estándar para el patrón de aplicación de la consola. El paquete Nuget tomará el nombre [de la biblioteca] como ID. Significa que el patrón no se realiza si [la biblioteca] es un productor de Nuget. El patrón de optimizador será un punto de entrada para reescribir IL, por ejemplo, o preparar algo basado en el uso de [biblioteca] .dll.
Visual Studio 2017 cambió la plantilla de integración Nuget. Nupack debe actualizarse para admitir Visual Studio 2017.
Una cosa frustrante con Nuget es tener metadatos limpios y completos. Desafortunadamente, AssemblyInfo no proporciona una forma de exponer todas las necesidades de Nuget. Por otro lado, a menudo es necesario declarar en varios lugares las mismas información que causan un problema de sincronización y agregan una sobrecarga de mantenimiento. El uso de la API de Github.com para completar automáticamente la creación de Nuget puede ser algo bueno para mantenerse reactivo.