Как установить пакет NuGet.nupkg файл локально?

У меня есть некоторые .файлы nupkg из книги на C#. Как я могу их установить?

Can't see my packages

6 ответов


меню инструментыопцииДиспетчер Пакетов

Enter image description here

Укажите имя и расположение папки. нажимать OK. Поместите файлы пакета NuGet в эту папку.

перейдите к своему проекту, щелкните правой кнопкой мыши и выберите "Управление Пакетами NuGet" и выберите новый исходный пакет.

Enter image description here

здесь документация.


вы также можете использовать Консоль Диспетчера Пакетов и вызвать , указав путь к каталогу, содержащему файл пакета в


For .nupkg файлов мне нравится использовать:

Install-Package C:\Path\To\Some\File.nupkg

  1. добавьте файлы в папку с именем LocalPackages рядом с вами решение (его не нужно называть так, но настройте xml на следующем шаге соответственно)
  2. создайте файл с именем 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>
    
  3. если решение открыто в 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 может просто проверить код, где они хотят, и зависимые решения будут успешно восстановлены и построены.