Автоматически выбирайте последнюю версию приватной сборки пакетассылка Nuget

Я знаю, что об этом уже спрашивали, но ответа нет, или nuget плохо слушает мои ссылки на пакеты.

У меня есть частное репозиторий Nuget с двумя сборками:

<PackageReference Include="ProjectX.Core" Version="1.0.0.20" />
<PackageReference Include="ProjectX.Domain" Version="1.0.0.20" />

Я хочу, чтобы nuget автоматически получал последнюю версию после восстановления (с помощью Azure Devops), в соответствии с официальными документами, я должен сделать что-то вроде:

<PackageReference Include="ProjectX.Core" Version="1.*" />
<PackageReference Include="ProjectX.Domain" Version="1.*" />

Но потом, когда я смотрю, он пытается вернуться к версии 1.0.0 (которая даже не доступна).

Как сделать Nuget, чтобы автоматически получить последнюю версию?

1 ответ

"работает для меня". Если это не для вас, если вы можете предоставить минимальный, полный и проверяемый пример, мы можем отладить и посмотреть, что происходит не так.

шаги воспроизведения:

# setup isolated nuget environment
dotnet new nugetconfig
# you need to download nuget.exe for these commands, otherwise you have to hand edit nuget.config
nuget config -configfile .\nuget.config -set globalPackagesFolder=gpf
nuget sources -configfile .\nuget.config remove -name nuget
nuget sources -configfile .\nuget.config add -name local -source source

# create nupkgs
dotnet new classlib -n MyLib
cd MyLib
dotnet msbuild -t:pack -p:packageoutputpath=..\source -p:version=1.0.0.1
dotnet msbuild -t:pack -p:packageoutputpath=..\source -p:version=1.0.0.2
dotnet msbuild -t:pack -p:packageoutputpath=..\source -p:version=1.0.0.10
cd ..

# use latest version
dotnet new console -n MyApp
cd MyApp
dotnet add package MyLib --version "1.*"

# check version used. I'm using Powershell
Select-String -Path .\obj\project.assets.json -Pattern MyLib/
Другие вопросы по тегам