Как указать частный источник пакета nuget в командной строке msbuild 15.0?

Можно ли указать частный сервер подачи nuget при использовании msbuild 15.0 в сравнении с 2017? Текущая команда powershell, которую я использую, следующая:

&$msbuild /t:restore /tv:15.0 /t:Rebuild /p:Configuration=Release

По умолчанию извлекается только фид nuget.org.


person Aathira    schedule 22.05.2018    source источник
comment
Да решается. См. ответ AjItH V S.   -  person Aathira    schedule 19.09.2018
comment
К вашему сведению, рекомендуется не делать этого прямо сейчас и вместо этого использовать CLI при использовании частных каналов: github.com/NuGet/Home/issues/6609#issuecomment-369100145   -  person kayleeFrye_onDeck    schedule 12.12.2018


Ответы (4)


MS Build считывает файлы NuGet.Config из корня решения. Вы можете добавить новый файл Nuget.config и указать внутри него внешние репозитории.

справочник по nuget.config

person AjItH V S    schedule 24.05.2018

Как указать частный источник пакета nuget в командной строке msbuild 15.0?

Если вы хотите восстановить пакет nuget только из указанного частного источника пакета nuget, вы можете использовать свойство RestoreSources для указания частного источника:

msbuild /t:restore /p:RestoreSources=xxx /tv:15.0 /t:Rebuild /p:Configuration=Release

Дополнительные сведения см. в цели восстановления.

person Leo Liu-MSFT    schedule 23.05.2018
comment
Несколько источников в /p:RestoreSources= должны быть разделены точкой с запятой ; -> %3B. Например, для url1 и url2, /p:RestoreSources=url1%3Burl2 - person Nenad; 18.11.2020

вы можете использовать /p:RestoreAdditionalProjectSources=… для указания других источников.

Кроме того, используйте /restore (MSBuild 15.3+) вместо указания Restore вместе с другими целями, чтобы все измененные файлы, сгенерированные NuGet, правильно перезагружались.

person Martin Ullrich    schedule 22.05.2018
comment
Где, черт возьми, это вообще задокументировано?! Все скрытые опции msbuild/nuget надоедают! - person kayleeFrye_onDeck; 11.12.2018
comment
Вы имели в виду RestoreAdditionalProjectSources вместо p:RestoreSources ? - person nl-x; 08.11.2019
comment
да, видимо, я скопировал из проблемы nuget, в которой это тоже было неправильно. отредактировано. - person Martin Ullrich; 08.11.2019
comment
@kayleeFrye_onDeck docs.microsoft.com/en-us/nuget/reference/ msbuild-targets - person Lars; 27.05.2020

Я добавил новый источник пакета в файл nuget.config, расположенный в папке «%appdata%\NuGet\NuGet.Config», например:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="anotherSource" value="http://10.2.36.4:53673/nuget" />
  </packageSources>
</configuration>
person Trần Thanh Phong    schedule 11.03.2021