Nupack - это простой способ создать пакет Nuget для .NET 4.0+ на основе AssemblyInfo или NUSPEC при создании с Visual Studio. Он материализуется как пакет Nuget.
Когда Nupack является ссылкой на проект, зависимость не создается, существует только новый шаг сборки, чтобы автоматически упаковать вывод проекта в пакет Nuget с именем проекта в качестве идентификатора.
Когда файл .nuspec обнаружен как часть проекта, Nupack уважает спецификацию и не применяйте какую -либо автоматическую конфигурацию для создания ожидаемого пакета Nuget.
Создайте простую библиотеку (папку LIB) с зависимостями пакета Nuget. Этот шаблон автоматически применяется, когда нет файла .nuspec, обнаруженного для библиотеки проекта типов.
Когда пакет основан на приложении консоли, а .nuspec не объявляется, каталог сборки определяется с помощью файла.
Зависимости могут быть пакетами Nuget, проектными ссылками и т. Д. ... Они должны включать рекурсивно в сгенерированный пакет Nuget с адекватной формой.
Процесс Nuget не распространяет документацию XML и ресурсы зависимости в результате вывода и не может рассматриваться в процессе упаковки Nupack. Позвольте Nupack распространять их автоматически, чтобы сохранить чистую структуру и документацию в каждом узле.
Nupack может предоставить библиотеку для разработки плагина в качестве пакета Nuget. Он обнаружит плагин из package.config и загрузит его из папки Nupack, чтобы добавить дополнительное поведение в Nupack. Плагин будет вызван с аргументами, передаваемыми в Nupack, и производит комплексное обеспечение PackageBuilder из Original PackageBuilder перед сэкономить результат. Плагин расположен после создания Nuget.
Nupack должен создать конкретный пакет для хранения плагина (библиотека) в папке Nupack, когда эта ссылка на проект nupack.extension.
Когда на Nupack ссылается консольное приложение с именем [Library] .Optimizer и ссылка на библиотеку с именем [библиотека], выполняется шаблон оптимизатора. Сгенерированный пакет Nuget содержит [библиотеку] .dll в папку LIB, а [Library] .optimizer.exe помещается в папку сборки с файлом. Пакет Nuget примет имя [библиотека] в качестве идентификатора. Это означает, что шаблон не выполняется, если [библиотека] является производителем Nuget. Оптимизатор будет точкой входа для переписывания IL, например, или подготовки чего -то на основе [библиотеки] .dll.
Visual Studio 2017 изменил шаблон интеграции Nuget. Nupack должен быть обновлен для поддержки Visual Studio 2017.
Одна из разочаровывающей вещи с Nuget - иметь чистые и полные метаданные. К сожалению, AssemblyInfo не предоставляет способ раскрыть все потребности Nuget. С другой стороны, часто необходимо объявить во многих и том же информациях, что и вызывает проблему синхронизации, и добавлять накладные расходы на обслуживание. Использование API github.com для автоматического завершения создания Nuget может быть хорошей вещью, чтобы оставаться реактивным.