Восстановление зависимостей в коде Visual Studio использует неверный источник / канал

Я не уверен, как установить стандартную ленту новостей для моего основного проекта.net в коде Visual Studio на https://api.nuget.org/v3/index.json

Когда я пытаюсь добавить пакет (и впоследствии восстановить зависимости), я получаю следующие ошибки...

C:\Program Files\dotnet\sdk\2.1.403\NuGet.targets(114,5): error : Unable to load the service index for source https://smartassessor.pkgs.visualstudio.com/_packaging/SANuget/nuget/v3/index.json. [c:\Users\Matthew.OConnor\Desktop\Important Documents\Programming\DatingApp\DatingApp.API\DatingApp.API.csproj]
C:\Program Files\dotnet\sdk\2.1.403\NuGet.targets(114,5): error :   Response status code does not indicate success: 401 (Unauthorized). [c:\Users\Matthew.OConnor\Desktop\Important Documents\Programming\DatingApp\DatingApp.API\DatingApp.API.csproj]

Этот источник https://smartassessor.pkgs.visualstudio.com/_packaging/SANuget/nuget/v3/index.json не имеет никакого отношения к моему текущему проекту, однако он используется для других проектов, которые обычно выполняются с использованием полноценной Visual Studio. Эти проекты сохраняются в совершенно другом месте этого проекта.

Я просто хочу иметь возможность добавлять пакеты nuget из nuget.org в мой основной проект.net. Как мне сделать это в коде VS?

В настоящее время у меня нет файла nuget.config в этом проекте.

Источник пакета, упомянутый в сообщении об ошибке, кажется, поступает из источника пакета, который я настроил во время использования Visual Studio

Это мой файл csproj...

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Folder Include="wwwroot\"/>
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App"/>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.4"/>
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="4.0.1"/>
    <PackageReference Include="CloudinaryDotNet" Version="1.3.1"/>
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.1.0-preview1-final"/>
  </ItemGroup>
</Project>

CloudinaryDotNet это пакет, который сгенерировал ошибки выше.

1 ответ

Решение

Я думаю, что VS Code просто работает dotnet restoreи причина, по которой вы видите использование этого источника, заключается в том, что он сконфигурирован в вашем конфигурационном файле nuget пользователя / компьютера (находится в окнах, которые, по-видимому, запущены, в %appdata%\NuGet\NuGet.Config & %ProgramFiles(x86)%\NuGet\Config соответственно). Редактор конфигурации VS, который вы показали, является просто хорошим графическим интерфейсом для этого файла конфигурации.

Если вы хотите сохранить эту общую настройку, вы сможете использовать nuget.config файл в вашем проекте VS Code (который вы упомянули у вас нет на данный момент). Здесь есть больше информации об этом - Добавить пользовательский исходный код пакета в Visual Studio Code.

Кроме того, если вы пытаетесь восстановить вручную, вы можете использовать один из этих 2 флагов -

  • dotnet restore --source https://api.nuget.org/v3/index.json
  • dotnet restore --ignore-failed-sources

Это довольно очевидно, но вы можете увидеть полную документацию здесь - https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-restore?tabs=netcore2x

Надеюсь это поможет (:

Другие вопросы по тегам