У меня есть некоторые .nupkg файлы из книги С#. Как их установить?
У меня есть некоторые .nupkg файлы из книги С#. Как их установить?
Инструменты меню → Функции → Диспетчер пакетов
Укажите имя и папку. Нажмите "ОК". Отбросьте файлы пакета NuGet в этой папке.
Перейдите в свой проект, щелкните правой кнопкой мыши и выберите "Управление пакетами NuGet" и выберите новый источник пакета.
Вот документация.
Вы также можете использовать Консоль диспетчера пакетов и вызвать командлет Install-Package
, указав путь к каталогу, который содержит файл пакета в параметр -Source
:
Install-Package SomePackage -Source C:\PathToThePackageDir\
Для файлов .nupkg, которые мне нравится использовать:
Install-Package C:\Path\To\Some\File.nupkg
Создайте файл 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.
Вы больше не можете просто использовать Install-Package, чтобы указать на локальный файл. (Вероятно, потому что элемент PackageReference
не поддерживает пути к файлам, он позволяет указывать только идентификатор пакета.)
Сначала вам нужно рассказать VS о местоположении вашего пакета, а затем добавить его в проект. Большинство людей делают это в диспетчере пакетов NuGet и добавляют локальную папку в качестве источника (Инструменты >> Параметры >> Диспетчер пакетов NuGet >> Источники пакетов). Но это означает, что ваше местоположение зависимостей не выполняется (до контроля версий) с остальной частью вашей кодовой базы.
Это добавит источник пакета, который применяется только к определенному решению, и вы можете использовать относительные пути.
Что вам нужно сделать, так это создать файл nuget.config
в том же каталоге, что и ваш .sln
файл. Настройте файл с необходимыми источниками (-ами) пакета. Когда вы затем откроете решение в VS2017, будут доступны любые файлы.nupkg из этих исходных папок. (Вы увидите источник, указанный в диспетчере пакетов, и вы найдете пакеты на вкладке "Обзор", когда вы управляете пакетами для проекта.)
Вот пример nuget.config
чтобы вы начали:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyLocalSharedSource" value="..\..\..\some\folder" />
</packageSources>
</configuration>
Моим вариантом использования этой функции является то, что у меня есть несколько экземпляров одного репозитория кода на моей машине. Там есть общая библиотека в кодовой базе, которая была опубликована/развернута как файл.nupkg. Такой подход позволяет различным зависимым решениям на протяжении всей нашей кодовой базы использовать пакет в одном экземпляре репо. Кроме того, кто-то со свежей установкой VS2017 может просто проверять код везде, где захочет, а зависимые решения будут успешно восстановлены и построены.