#nuget
#nuget
Вопрос:
При создании пакета NuGet в выходной каталог я не хочу, чтобы он перезаписывал существующую версию
Существующая команда:
".nugetnuget.exe" pack "some.csproj" -output "c:~packages"
Я просмотрел документацию и, похоже, не могу найти переключатель, который это делает. Я пытался использовать a if exists "c:~packagessome.nupkg" exit 1
, но проблема в том, что у меня нет доступа к номеру версии в этом контексте, поэтому я не могу предсказуемо предоставить версию для проверки
Ответ №1:
В настоящее время это невозможно с помощью NuGet.exe .
Варианты:
- Измените исходный код NuGet, чтобы разрешить дополнительную опцию командной строки для поддержки отказа от перезаписи существующего пакета NuGet, если он существует. PackCommand может быть изменен для поддержки этого.
- Напишите утилиту для создания правильной версии пакета, затем проверьте, существует ли пакет перед запуском NuGet.exe . Информация о версии пакета считывается из атрибута AssemblyInformationalVersionAttribute, взятого из выходной сборки проекта, если вы используете nuget pack projectfile.
Комментарии:
1. Прошло несколько лет с тех пор, как был дан этот ответ. Это все еще положение вещей? Или теперь можно не перезаписывать файлы .nupkg, если они уже существуют?
2. Насколько я вижу, все то же самое. Кажется, что код по-прежнему удаляет существующий файл .