Что управляет конкретным свойством версии ссылки в пакете NuGet?
У нас есть много библиотек, которые строятся в CI, которые развертывают пререлизы каждый раз, когда они строятся. Другие проекты зависят от них и автоматически обновляют их во время сборки.
Но ссылки задаются с определенной версией = true, что означает, что увеличение номера версии в этих библиотеках DLL приводит к сбою сборки.
Как я могу управлять настройкой свойства?
1 ответ:
Вы не можете изменить поведение NuGet, не изменив его исходный код. NuGet всегда устанавливает SpecificVersion в true при добавлении сборки, отличной от GAC, из Visual Studio.
Вам нужно будет запустить какой-то скрипт post build, чтобы исправить ссылки или вручную изменить их.
Не уверен точно, как вы обновляете проекты на вашем сервере CI. Если вы используете
NuGet.exe update project.csproj
, то он обновится до последнего пакета NuGet и не будет устанавливать SpecificVersion в true. Однако приложение командной строки не поддерживает сценарии PowerShell или файлы содержимого, будут обновлены только ссылки. Это также предполагает наличие обновления, в противном случае ссылка не будет изменена.