Что управляет конкретным свойством версии ссылки в пакете NuGet?


У нас есть много библиотек, которые строятся в CI, которые развертывают пререлизы каждый раз, когда они строятся. Другие проекты зависят от них и автоматически обновляют их во время сборки.

Но ссылки задаются с определенной версией = true, что означает, что увеличение номера версии в этих библиотеках DLL приводит к сбою сборки.

Как я могу управлять настройкой свойства?

1 6

1 ответ:

Вы не можете изменить поведение NuGet, не изменив его исходный код. NuGet всегда устанавливает SpecificVersion в true при добавлении сборки, отличной от GAC, из Visual Studio.

Вам нужно будет запустить какой-то скрипт post build, чтобы исправить ссылки или вручную изменить их.

Не уверен точно, как вы обновляете проекты на вашем сервере CI. Если вы используете NuGet.exe update project.csproj , то он обновится до последнего пакета NuGet и не будет устанавливать SpecificVersion в true. Однако приложение командной строки не поддерживает сценарии PowerShell или файлы содержимого, будут обновлены только ссылки. Это также предполагает наличие обновления, в противном случае ссылка не будет изменена.