.nuspec определяет свойства вашего пакета (метаданные), а также список файлов, включаемых в пакет. Существует множество описаний этого, поэтому биты, которые необходимо решить, это файлы, которые добавляются инструментами:
.nupkg файлы соответствуют открытой упаковке. Как вы уже поняли, это действительно файл .zip с некоторыми предопределенными файлами. Каталог _rels содержит отношения между «частями». Подумайте о документе Word, содержащем изображения и таблицы электронных таблиц Excel, чтобы получить представление о «частях».
Пакеты в основном содержат только одну часть; сам пакет (но, вероятно, может содержать подпакеты для модулей). Файл _rels / .rels определяет отношения для основного пакета верхнего уровня. У отношения есть ID, URL, который описывает тип отношения и цель, которая является файлом, который имеет эту связь с пакетом. Большинство пакетов имеет отношение к файлу .nuspec, который имеет вид «manifest», и к файлу .psmdcp, который имеет вид «core-properties». Идентификаторы этих отношений должны быть уникальными только внутри пакета, поэтому они могут быть просто строками, такими как «R1», «R2», но по какой-то причине они являются «R» + 16 первых байтов GUID в choco.
Свойства ядра, по-видимому, в основном перефразируют файл манифеста, одетый в теги Dublin Core вместо nuspec; Я предполагаю, что теоретически другие программы могли бы представить пакет, основанный на них (если вы вставите его в документ Word!). Вероятно, psmdcp - это аббревиатура «Метаданные пакета служб Dublin Core Properties». Проверяя NuGet.Core / NuGet.Packaging / PackageCreation / Authoring / PackageBuilder.cs, мы видим, что имя файла представляет собой просто GUID с форматом «N» (только цифры). Свойство lastModifiedBy является информацией о версии самой сборки choco; Я полагаю, что вы действительно можете поместить что-нибудь туда, если создадите файлы самостоятельно.
[Content Types.xml] определяет формат файла расширений в форме типов MIME. В основном это котельная плита.
Итак, в заключение: на основе .nuspec вы можете сгенерировать все остальные отсутствующие файлы и собрать .nupkg самостоятельно, даже в скрипте Powershell.