Я хочу запустить локальный / внутренний репозиторий NuGet . Думаю, я понял, как «повторно использовать» существующие пакеты NuGet, включив их в фиктивный проект с помощью NuGet и просканировав файл пакета, чтобы получить мои .nupkgфайлы из локального кеша , но ...
Как создать пакет nuget ( .nupkg) из проекта, автоматически включающий все dll зависимости, а не только те, которые были получены через NuGet?
В частности:
- Создать решение
- Добавить новый проект
- Добавляйте ссылки на различные
.dllфайлы / другие проекты <- это недостающая часть - Добавить пакеты NuGet через диспетчер пакетов / cmdline / что угодно
- что-то автоматически создает
.nupkg
Из того, что я нашел, вы должны делать такие вещи, как
- вручную отредактируйте
.csprojфайл, чтобы добавить<BuildPackage>true</BuildPackage>и включить зависимости - вручную создайте
.nuspecфайл и вручную укажите свои зависимости ( аналогично? ) - вручную запустить
nuget packсвой.nuspecфайл
Но все вручную, что глупо. Даже полуавтоматические решения остаются неудобными или полуавтоматическими:
- Создавайте
.nuspecшаблоны - похоже, не включают зависимости, только метаданные Пакет nuget через событие сборки (шаг 5), который вам нужно добавить вручную в каждый проект, и у него есть свои особенности :
"$(SolutionDir).nuget\NuGet.exe" pack "$(ProjectPath)" -Properties Configuration=Release move /Y *.nupkg "$(TargetDir)"
Я соглашусь на то, что автоматически создает .nuspecманифест из ссылок на проекты. Тогда теоретически это + событие сборки nuget можно свернуть в пакет build-project / nuget, что я действительно хочу видеть.
