Ответы:
Меню Инструменты → Параметры → Диспетчер пакетов
Дайте имя и местоположение папки. Нажмите ОК. Удалите файлы пакета NuGet в эту папку.
Перейдите в свой проект, щелкните правой кнопкой мыши и выберите «Управление пакетами NuGet» и выберите новый источник пакета.
Вот документация .
Вы также можете использовать консоль диспетчера пакетов и вызвать Install-Package
командлет, указав в параметре путь к каталогу, в котором находится файл пакета -Source
:
Install-Package SomePackage -Source C:\PathToThePackageDir\
-Source
Опция доступна в nuget.exe , а также. Например:nuget install SomePackage -Source C:\PathToThePackageDir
Для файлов .nupkg мне нравится использовать:
Install-Package C:\Path\To\Some\File.nupkg
.nupkg
в тот же каталог, в котором хранились все остальные пакеты)
Вы больше не можете просто использовать Install-Package, чтобы указать на локальный файл. (Это, вероятно, потому чтоPackageReference
элемент не поддерживает пути к файлам; он позволяет только указать идентификатор пакета.)
Сначала вы должны сообщить Visual Studio о местонахождении вашего пакета, а затем вы можете добавить его в проект. Большинство людей делают это в диспетчере пакетов NuGet и добавляют локальную папку в качестве источника (меню Сервис → Параметры → Диспетчер пакетов NuGet → Источники пакетов ). Но это означает, что местоположение вашей зависимости не передается (для контроля версий) с остальной частью вашей кодовой базы.
Это добавит источник пакета, который применяется только к конкретному решению, и вы можете использовать относительные пути.
Вам нужно создать nuget.config
файл в том же каталоге, что и ваш .sln
файл. Сконфигурируйте файл с нужными источниками пакетов. При следующем открытии решения в Visual Studio 2017 будут доступны любые файлы .nupkg из этих исходных папок. (Вы увидите источники, перечисленные в Диспетчере пакетов, и найдете пакеты на вкладке «Обзор» при управлении пакетами для проекта.)
Вот пример nuget.config
для начала:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyLocalSharedSource" value="..\..\..\some\folder" />
</packageSources>
</configuration>
Мой вариант использования этой функциональности заключается в том, что у меня есть несколько экземпляров одного репозитория кода на моей машине. В базе кода есть общая библиотека, которая опубликована / развернута в виде файла .nupkg. Этот подход позволяет различным зависимым решениям в нашей кодовой базе использовать пакет в одном и том же экземпляре репозитория. Кроме того, кто-то с новой установкой Visual Studio 2017 может просто извлекать код в любом месте, и зависимые решения будут успешно восстановлены и собраны.
-Source
аргумент, Update-Package
и он работал нормально. Может быть, что-то конкретно делать с Install-Package
командой?
Создайте файл с именем NuGet.config рядом с файлом решения со следующим содержимым
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="LocalPackages" value="./LocalPackages" />
</packageSources>
<activePackageSource>
<!-- this tells that all of them are active -->
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>
Если решение открыто в Visual Studio, закройте его, а затем снова откройте.
Теперь ваши пакеты должны появиться в браузере или быть установлены с помощью Install-Package
Если у вас есть файл .nupkg и вам просто нужен файл .dll, все, что вам нужно сделать, это изменить расширение на .zip и найти каталог lib.
Просто для обновления есть небольшие изменения для пользователей Visual Studio 2015.
Чтобы использовать или установить пакет вручную, выберите Сервис -> Параметры -> Диспетчер пакетов NuGet -> Источники пакетов.
Нажмите кнопку «Добавить», выберите «Источник», и не забудьте нажать « Обновить », так как это обновит расположение папки для ваших пакетов, отредактируйте желаемое имя источника вашего пакета, если вы хотите:
Чтобы выбрать добавленный пакет, щелкните правой кнопкой мыши свое решение и выберите « Управление пакетами Nuget». ».
Выпадающий список справа и выберите Обзор, чтобы просмотреть ваши пакеты, которые вы указали в источнике вашей папки. Если в этом источнике папки нет пакета nuget, он будет пустым:
В Linux с NuGet CLI команды похожи. Чтобы установить my.nupkg, запустите
nuget add -Source some/directory my.nupkg
Затем запустите dotnet restore
из этого каталога
dotnet restore --source some/directory Project.sln
или добавьте этот каталог в качестве источника NuGet
nuget sources Add -Name MySource -Source some/directory
а затем скажите msbuild
использовать этот каталог с помощью /p:RestoreAdditionalSources=MySource
или /p:RestoreSources=MySource
. Второй переключатель отключит все другие источники, что хорошо, например, для автономных сценариев.