(У меня сильное чувство, что здесь есть что-то фундаментальное, чего я не понимаю, поэтому, пожалуйста, потерпите меня ...)
У меня есть фид Local NuGet на сетевой папке, в которой есть несколько пакетови у меня есть файл User NuGet.Config
, который указывает на эту сетевую папку как источник пакета.В папке проекта (git-репозиторий) у меня есть файл packages.config
, который ссылается на пакет из этого локального канала по имени.Я хочу восстановить этот пакет в этой папке проекта.
Мне кажется, что это затрудняет то, что это не проект Visual Studio.Я работаю с ним в обычном текстовом редакторе и у меня есть несколько сценариев сборки PowerShell.
Я знаю, что могу просто загрузить двоичный файл nuget.exe и поместить его в свой путь или рабочий каталог, а затем выполнить nuget restore
из командной строки, но проблема, которую я пытаюсь решить, скорее философская чистота.А именно:
- Мой репозиторий должен быть переносимым, с минимумом обязательных зависимостей
- Мой репозиторий не должен содержать посторонних двоичных файлов или кода, которым он не владеет
Поэтому я не могу зафиксировать двоичный файл nuget.exe
в своем хранилище, чтобы сделать его переносимым;вместо этого я хочу полагаться на обязательную зависимость «современной среды Windows 10», которая предоставляет мне PowerShell и встроенные инструменты PackageManagement, которые позволяют загружать различных поставщиков, включая PowerShellGet и NuGet.
Это похоже на правильный путь, поскольку PackageManagement разработан как встроенный унифицированный интерфейс для любого решения по управлению пакетами.(Но я неправильно понимаю это, и это на самом деле предназначено только для установки программного обеспечения в вашу операционную систему или учетную запись пользователя? Я не могу найти ничего, что четко очерчивает это.)
Итак, возможно лииспользовать встроенное PackageManagement для создания nuget restore
(или его эквивалента) из файла packages.config
, выходящего за рамки Visual Studio?Или, если не напрямую, существует ли очевидное / простое решение для начальной загрузки из PackageManagement к чему-то, что может выполнить такое восстановление?