Остановите VisualStudio от использования определенного источника пакета NuGet
На моем рабочем месте есть сервер NuGet, который я настроил на своем персональном компьютере, когда я работаю из дома. Это возможно только при подключении к рабочему месту через VPN.
Когда я работаю над личными проектами, я не хочу сначала устанавливать VPN-соединение, так как мне не нужен сервер NuGet с работы.
Однако, когда я этого не делаю, менеджер пакетов VisualStudio / NuGet всегда будет пытаться связаться с ним для поиска пакетов или разрешения зависимостей, даже когда я явно выбираю источник пакета в раскрывающемся меню пользовательского интерфейса. Это также проявляется в ошибках, связанных с тайм-аутом, когда я пытаюсь установить пакет с определенным выбранным источником.
В сложившейся ситуации мне нужно либо подключиться через VPN, либо снять галочку с источника пакета - это глобальная настройка. Разве нет способа сказать NuGet, чтобы он использовал только определенный источник пакета или включал / выключал источники для конкретных решений?
Решение для моего конкретного случая использования:
После того, как @jessehouwing указал мне на документы NuGet, я положил NuGet.Config
файл в папке репозитория верхнего уровня, где хранятся все мои решения, связанные с работой.
Все, что файл делает, это добавляет packageSource
все остальные настройки берутся из файла глобальных настроек (который использует VisualStudio в %appdata%/NuGet
), из которого я удалил исходный пакет пакета, чтобы он не мешал мне в личных проектах.
Если кому-то это нужно:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="Work" value="http://path/to/your/source" />
</packageSources>
</configuration>
1 ответ
Вы можете прикрепить nuget.config
в папке решения:
Специфичные для проекта файлы NuGet.Config, расположенные в любой папке от папки решения до корня диска. Они позволяют контролировать настройки при их применении к проекту или группе проектов.
Затем поместите туда правильные места хранилища.