Мы столкнулись с проблемой в нашей среде сборки, где мы хотели бы, чтобы наши сборки непрерывной интеграции загружали «новейшие и самые большие» пакеты NuGet, которые помечены как предварительные версии, путем надлежащего добавления номера версии с -dev
.Как можно «восстановить nuget» загружать пакеты перед выпуском?
Всякий раз, когда мы запускаем команду nuget restore
, она не может забрать какие-либо предварительные версии. Я просмотрел документацию на странице NuGet Versioning, но она довольно неудобно опускает подробные сведения о том, как добавить диапазоны предварительных значений в разрешенные версии, которые она должна загружать в файле packages.config.
В настоящее время файл packages.config выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Foo" version="1.0.0" targetFramework="net35" />
</packages>
И мы хотим, чтобы иметь возможность для NuGet, по крайней мере, быть в состоянии видеть, а затем выбрать самую последнюю версию из списка, как следующее :
- Foo.1.0.0-dev1401291727ef87505.nupkg
- Foo.1.0.0-dev14012918064fdf488.nupkg
К сожалению, никаких предварительных версий не видно, и только восстановленные пакеты используются процессом восстановления. Типичное сообщение об ошибке при попытке загрузить пре-релиз только пакет будет:
Unable to find version '1.0.0' of package 'Foo'.
Есть ли способ, что я могу указать диапазон версий, который включает пакеты пре-релиз в файле packages.config? Или даже из самого файла .nuspec?
Большое спасибо заранее.
Какую версию клиента NuGet вы используете? Что такое серверное программное обеспечение (NuGet Gallery? Artifactory? MyGet? ProGet?) Это не просто использование флага '-IncludePrerelease'? –
Мы используем клиентскую версию NuGet 2.7.41115.310. На стороне сервера у нас есть простой файловый ресурс, настроенный на нашем сервере сборки. Это скорее случай, когда можно предоставить номер базовой версии в нашем файле package.config, а для NuGet - оттуда. Если мы укажем номер версии non-tagged/release в файле packages.config, даже с 'IncludePrerelease', он не будет обновлен до пакета перед выпуском, из теста, который я сделал до сих пор. –