Как установить пакет NuGet.nupkg файл локально?
У меня есть некоторые .файлы nupkg из книги на C#. Как я могу их установить?
6 ответов
меню инструменты → опции → Диспетчер Пакетов
Укажите имя и расположение папки. нажимать OK. Поместите файлы пакета NuGet в эту папку.
перейдите к своему проекту, щелкните правой кнопкой мыши и выберите "Управление Пакетами NuGet" и выберите новый исходный пакет.
здесь документация.
вы также можете использовать Консоль Диспетчера Пакетов и вызвать , указав путь к каталогу, содержащему файл пакета в
- добавьте файлы в папку с именем LocalPackages рядом с вами решение (его не нужно называть так, но настройте xml на следующем шаге соответственно)
-
создайте файл с именем 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 2017 и это новое .формат csproj
вы больше не можете просто использовать Install-Package для указания на локальный файл. (Это, вероятно, потому что PackageReference
элемент не поддерживает пути к файлам; он позволяет только указать идентификатор пакета.)
сначала вы должны рассказать VS о местоположении вашего пакета, затем вы можете добавить его в проект. Большинство людей входят в Диспетчер пакетов NuGet и добавляют локальную папку в качестве источника (Инструменты > > Параметры >> Менеджер Пакетов NuGet > > Источники Пакетов). Но это означает, что местоположение вашей зависимости не зафиксировано (для управления версиями) с остальной частью вашей кодовой базы.
локальные пакеты NuGet с использованием относительного пути
это добавит источник пакета, который применяется только к определенному решению, и вы можете использовать относительные пути.
что вам нужно сделать, это создать nuget.config
файл в том же каталоге, что и ваш . Настройте файл с помощью пакета source(s) you хотеть. Когда вы в следующий раз откроете решение в VS2017, любое .файлы nupkg из этих исходных папок будут доступны. (Вы увидите источник (ы), перечисленные в Диспетчере пакетов, и вы найдете пакеты на вкладке "Обзор", когда вы управляете пакетами для проекта.)
вот пример nuget.config
для начала:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyLocalSharedSource" value="..\..\..\some\folder" />
</packageSources>
</configuration>
Предыстория
мой вариант использования этой функции заключается в том, что у меня есть несколько экземпляров одного репозитория кода на моей машине. В базе кода есть общая библиотека, которая публикуется / развертывается как a .nupkg файл. Этот подход позволяет различным зависимым решениям в нашей кодовой базе использовать пакет в одном экземпляре РЕПО. Кроме того, кто-то со свежей установкой VS2017 может просто проверить код, где они хотят, и зависимые решения будут успешно восстановлены и построены.