Замена ссылки на проект пакетами NuGet в DevOps Azure - PullRequest
0 голосов
/ 17 апреля 2019

У нас есть ссылка на проект в базовой библиотеке .net. В пакете dotnet на VSTS мы хотели бы изменить ссылку на проект на фактическую ссылку на пакет NuGet из VSTS Feed. Получил почти там, используя

dotnet remove ProjB.csproj reference ../../ProjA/src/ProjA.csproj 
dotnet add ProjB.csproj package ProjA --no-restore 
dotnet restore ProjB.csproj
dotnet pack ProjB.csproj --no-restore

Проблема в "dotnet add" с --no-restore, так как он добавляет ссылку с version = "*":

<PackageReference Include="ProjA " Version="*" />

Это приводит к неверной версии пакета ProjA в ProjB.nuspec (берется из файла ProjA.scproj вместо фактической версии, которая была восстановлена ​​с помощью «восстановления dotnet»)

Если не использовать --no-restore, получить:

error: Unable to load the service index for source https://[our-team-project].pkgs.visualstudio.com/_packaging/[our-feed]/nuget/v3/index.json.
error:   Response status code does not indicate success: 401 (Unauthorized).

Вопрос: есть ли способ добавить пакет с правильной версией (без использования --no-restore) или заставить «пакет dotnet» вывести правильную версию зависимости в файле ProjB.nuspec?

1 Ответ

0 голосов
/ 18 апреля 2019

Есть ли способ добавить пакет с правильной версией (без использования --no-restore) или заставить "пакет dotnet" вывести правильную версию зависимости в файле ProjB.nuspec?

Вы можете попробовать добавить параметр [-v|--version], чтобы указать актуальную версию.

Проверьте документ dotnet add package для некоторых деталей.

Синопсис

dotnet add [<PROJECT>] package <PACKAGE_NAME> [-h|--help] [-f|--framework] [--interactive] [-n|--no-restore] [--package-directory] [-s|--source] [-v|--version]

Пока я тестирую, все работает нормально:

enter image description here

Примечание: Вам следует опубликовать пакет ProjA в своем фиде перед выполнением командной строки dotnet restore.

Надеюсь, это поможет.

...