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

Если MaxResults является свойством then no, он не будет его оптимизировать, потому что геттер может иметь сложную логику, например:

private int _maxResults;
public int MaxReuslts {
  get { return _maxResults++; }
  set { _maxResults = value; }
}

Посмотрите, как поведение изменится, если оно будет в строке ваш код?

Если нет никакой логики ... любой метод, который вы написали, в порядке, это очень маленькая разница и все о том, насколько читаемо это вам (или вашей команде) ... вы один смотрел на него.

378
задан Peter Mortensen 10 December 2017 в 21:52
поделиться

6 ответов

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

Enter image description here

Укажите имя и местоположение папки. Нажмите ОК. Удалите файлы пакета NuGet в эту папку.

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

Enter image description here

Вот документация .

409
ответ дан Peter Mortensen 10 December 2017 в 21:52
поделиться

Для Visual Studio 2017 и его нового формата .csproj

Вы больше не можете просто использовать Install-Package для указания на локальный файл. (Вероятно, это связано с тем, что элемент PackageReference не поддерживает пути к файлам; он позволяет вам только указать идентификатор пакета.)

Сначала вы должны сообщить Visual Studio о расположении вашего пакета, а затем можете добавить его в проект. Большинство людей делают это в диспетчере пакетов NuGet и добавляют локальную папку в качестве источника (меню Сервис Параметры Диспетчер пакетов NuGet Пакетные источники ). Но это означает, что местоположение вашей зависимости не передается (для контроля версий) с остальной частью вашей кодовой базы.

Локальные пакеты NuGet, использующие относительный путь

Это добавит источник пакета, который применяется только к конкретному решению, и вы можете использовать относительные пути.

Вам необходимо создать файл nuget.config в том же каталоге, что и ваш файл .sln. Сконфигурируйте файл с нужными источниками пакетов. Когда вы в следующий раз откроете решение в Visual & nbsp; Studio & nbsp; 2017, будут доступны любые файлы .nupkg из этих исходных папок. (Вы увидите источники, перечисленные в Диспетчере пакетов, и найдете пакеты на вкладке «Обзор» при управлении пакетами для проекта.)

Вот пример nuget.config чтобы начать работу:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="MyLocalSharedSource" value="..\..\..\some\folder" />
    </packageSources>
</configuration>

Backstory

Мой вариант использования этой функции заключается в том, что у меня есть несколько экземпляров одного репозитория кода на моей машине. В базе кода есть общая библиотека, которая опубликована / развернута в виде файла .nupkg. Этот подход позволяет различным зависимым решениям в нашей кодовой базе использовать пакет в одном и том же экземпляре репозитория. Кроме того, кто-то с новой версией Visual & nbsp; 2017 может просто извлекать код там, где он хочет, и зависимые решения будут успешно восстановлены и собраны.

38
ответ дан Peter Mortensen 10 December 2017 в 21:52
поделиться

Для файлов .nupkg, которые я люблю использовать:

Install-Package C:\Path\To\Some\File.nupkg
94
ответ дан Felix Alcala 10 December 2017 в 21:52
поделиться
  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

43
ответ дан Jeff Puckett 10 December 2017 в 21:52
поделиться

Если у вас есть файл .nupkg и вам просто нужен файл .dll, все, что вам нужно сделать, это изменить расширение на .zip и найти каталог lib.

39
ответ дан Marlon Cristian 10 December 2017 в 21:52
поделиться

На 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. Второй переключатель отключит все другие источники, который хорош для офлайновых сценариев, например.

3
ответ дан 22 November 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: