Игнорировать недоступные источники w / do tnet добавить пакет - PullRequest
1 голос
/ 04 февраля 2020

Когда я пытаюсь добавить пакет NuGet через dotnet cli, я получаю сообщение об ошибке, что он не может получить доступ к одному из моих пользовательских источников NuGet. Есть ли способ сказать: «Мне все равно, восстановить, откуда вы можете »?

McMaster.Extensions.CommandLineUtils ясно, что он существует в NuGet.org и он находит его, но затем останавливается b / c он не может получить доступ к пользовательскому источнику ?‍♂️.

PS c: \ Temp \ blah-project> do tnet add package McMaster.Extensions.CommandLineUtils
info: Добавление PackageReference для пакета 'McMaster.Extensions.CommandLineUtils' в проект 'c: \ Temp \ blah-project \ blah-project.csproj'.
info: Восстановление пакетов для c: \ Temp \ blah-project \ blah-project.csproj
info: GET https://api.nuget.org/v3-flatcontainer/mcmaster.extensions.commandlineutils/index.json
info: OK https://api.nuget.org/v3-flatcontainer/mcmaster.extensions.commandlineutils/index.json 147ms
ошибка: невозможно загрузить индекс сервиса для источника https://myinstace.pkgs.visualstudio.com/_packaging/Blah/nuget/v3/index.json.
ошибка: код состояния ответа не указывает на успех: 401 (не авторизован).

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

при восстановлении пакетов, tnet вызовите все источники пакета, чтобы получить пакет, и использует тот, который отвечает первым.

В вашем случае из-за проблем с аутентификацией он не может получить доступ к этому источнику. Этот источник можно отключить с помощью приведенной ниже команды, а затем попытаться извлечь пакет.

dotnet nuget disable source <NAME> [--configfile <FILE>]
0 голосов
/ 12 марта 2020

Команда dotnet имеет параметр для указания --source. Это позволяет вам восстанавливать пакеты только из указанного c местоположения, в этом случае вы захотите использовать

dotnet restore --source https://api.nuget.org/v3/index.json`

Это должно потянуть пакеты в локальное хранилище NuGet и решить проблему на вашем компьютере.

Чтобы добавить пакет в ваш проект, вам может потребоваться вручную добавить <PackageReference> в ваш проект, например

<PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="2.6.0" />

Затем запустить восстановление Команда, приведенная выше, получит пакет для вас.

В качестве более постоянного исправления вы должны поместить файл nuget.config в root проекта / репозитория, где вы указываете источники пакета для этой спецификации c проект. Существуют настройки, которые вы можете установить, чтобы переопределить глобальную конфигурацию / источники nuget вашей системы. См. Дополнительную информацию по nuget.config . Вы можете создать начальный nuget.config в своем репо с помощью dotnet new nugetconfig

...