Восстановление Dotnet с использованием локальных и серверных источников - PullRequest
0 голосов
/ 19 апреля 2019

Я бы хотел использовать команду dotnet restore для предоставления двух источников с использованием флага --source.Первый находится в локальной папке внутри файлов проекта, а второй - на удаленном сервере (на самом деле это официальный источник nuget).

Я использовал dotnet restore внутри teamcity и передавал источники в качестве параметров следующим образом:

LocalFolder https://api.nuget.org/

Однако, когда teamcity строит мой конвейер, dotnet сначала ищет пакеты для поиска.внутри C: \ BuildAgent \ work \ LocalFolder, что нормально - это то, что я хотел.Но на следующем шаге он ищет второй источник в C: \ BuildAgent \ work \ https://api.nuget.org/, что явно неверно.

Я не знаю, как объединить два источника в одной команде восстановления dotnet, когда один изИсточники локальны, а второй размещен на сервере.Есть ли обходной путь для этого?

@ Edit Я знаю, что могу создать два шага сборки с помощью отдельных команд dotnet restore.Один для локального источника и второй для сервера.Однако было бы неплохо объединить его в одну команду.

Ответы [ 2 ]

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

Я знаю, что это должно работать так, однако использование dotnet restore на этапах сборки teamcity позволяет мне передавать источники в качестве параметров в форме teamcity. И, делая это за один шаг, использует следующие каналы:

C: \\ LocalFolder C: \\ https: \ api.nuget.org \

Я обнаружил, что удаленные источники должны передаваться в teamcity следующим образом: './;https:\api.nuget.org\', но это также не сработало.

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

Вы можете указать аргумент source несколько раз для команды dotnet restore , чтобы передать ее нескольким источникам:

-s|--source <SOURCE>

Указывает источник пакета NuGet для использования во время операции восстановления. Этот параметр переопределяет все источники, указанные в файлах NuGet.config. Можно указать несколько источников, указав эту опцию несколько раз.

Итак, вы можете запустить:

dotnet restore -s YourPackagesFolder -s https://api.nuget.org/

Если вы запустите его с --verbosity n, вы увидите вывод:

Feeds used:
             C:\<projectlocaltion>\LocalFolder
             https:\api.nuget.org\`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...