День 1282. #ЗаметкиНаПолях
Исправляем Отсутствующий Источник Пакетов NuGet
Иногда после настройки системы с нуля, установки Visual Studio и создания нового проекта при сборке проекта может возникать ошибка NU1101, говорящая о том, что восстановление пакета не удалось. Например:
NU1101 Unable to find package Swashbuckle.AspNetCore. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages
В настройках менеджера пакетов NuGet во вкладке Package Sources (Источники Пакетов) при этом будет отсутствовать источник по умолчанию Nuget.org.
Как это исправить?
Существует три файла конфигурации NuGet.Config доступные для Visual Studio, которые можно использовать для управления источниками NuGet:
1. Файл конфигурации, локальный для проекта или решения. Размещается соответственно в папке проекта или решения.
2. Файл конфигурации для конкретного пользователя для всех проектов пользователя. Размещение:
- в Windows: %appdata%\NuGet\NuGet.Config,
- в Mac/Linux: ~/.config/NuGet/NuGet.Config либо ~/.nuget/NuGet/NuGet.Config (по-разному в разных дистрибутивах).
3. Общесистемная конфигурация, влияющая на всех пользователей на компьютере. Размещение:
- в Windows: %ProgramFiles(x86)%\NuGet\Config,
- в Mac/Linux: $XDG_DATA_HOME. Если $XDG_DATA_HOME пустой, ~/.local/share либо /usr/local/share (по-разному в разных дистрибутивах).
Эти файлы конфигурации применяются иерархически. Источники, специфичные для проекта, переопределяют конфигурацию пользователя, а настройки пользователя, переопределяют общесистемные.
Собственно, в файл в раздел packageSources нужно добавить строку со ссылкой на api.nuget.org, как показано ниже:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
После изменения файла перезапустите Visual Studio и пересоберите решение. Нужные пакеты NuGet теперь должны восстановиться из указанного источника.
Источник: https://blog.nimblepros.com/blogs/fix-missing-default-nuget-feed/