Как сделать свой nuget пакет

Сборка пакетов предварительных версий

При выпуске обновленного пакета с новым номером версии NuGet считает его «последней стабильной версией», что указывается, например, в пользовательском интерфейсе диспетчера пакетов в Visual Studio.

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

Стабильная версия — это версия, которая считается достаточно надежной для использования в рабочей среде. Последняя стабильная версия также устанавливается в качестве обновления пакета или во время восстановления пакета (с учетом ограничений, которые описываются в разделе Повторная установка и обновление пакетов).

Можно указать такие версии одним из следующих способов:

Когда вы будете готовы выпустить стабильную версию, просто удалите суффикс, и пакет будет иметь приоритет над любыми предварительными версиями. См. раздел Управление версиями пакета.

Установка и обновление пакетов предварительных версий

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

Пользовательский интерфейс диспетчера пакетов в Visual Studio. В окне Управление пакетами NuGet установите флажок Включить предварительные версии.

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

При установке или снятии этого флажка список доступных версий, которые можно установить, в пользовательском интерфейсе диспетчера пакетов обновляется.

Семантическое версионирование

Соглашение о семантическом версионировании (SemVer) описывает, как следует использовать строки в номерах версий для передачи назначения базового кода.

Согласно этому соглашению каждый номер версии состоит из трех частей ( Major.Minor.Patch ) со следующими значениями:

Предварительные версии в этом случае обозначаются с помощью дефиса и строки, которые добавляются после номера исправления. После дефиса можно использовать любую строку, чтобы пакет распознавался в NuGet как предварительная версия. В этом случае NuGet выводит полный номер версии в соответствующем пользовательском интерфейсе, а интерпретировать его значение пользователям приходится самостоятельно.

Учитывая это, желательно придерживаться общепринятых соглашений об именовании, например следующих:

Какие бы суффиксы ни использовались, в NuGet их приоритет определяется в обратном алфавитном порядке:

Из этого следует, что версия с номером без суффикса всегда будет иметь приоритет над предварительными версиями.

Начальные нули для SemVer 2 не требуются, но они присутствуют в старой схеме версий. Если в тегах предварительных версий используются числовые суффиксы из двух или более цифр, следует добавлять начальные нули, например beta.01 или beta.05. Это обеспечит правильную сортировку номеров. Эта рекомендация применима только к старой схеме версий.

Источник

NuGet.Server

В следующих разделах подробно рассматривается выполнение этого процесса с помощью C#.

Если у вас есть дополнительные вопросы о NuGet.Server, сообщите об этом на https://github.com/nuget/NuGetGallery/issues.

Создание и развертывание веб-приложения ASP.NET с пакетом NuGet.Server

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

Задайте для параметра Framework значение «.NET Framework 4.6».

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

Присвойте приложению подходящее имя, отличное от NuGet.Server, нажмите кнопку «ОК», а затем в следующем диалоговом окне выберите пустой шаблон и нажмите кнопку ОК.

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

Щелкните проект правой кнопкой мыши и выберите Управление пакетами NuGet.

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

запустите сайт локально в Visual Studio (с помощью команды отладка запуск без отладки или Ctrl + F5). Домашняя страница содержит URL-адреса веб-канала пакетов, как показано ниже. Если возникают ошибки, тщательно изучите web.config на наличие повторяющихся элементов.

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

При первом запуске приложения пакет NuGet.Server изменяет структуру папки Packages так, чтобы она содержала вложенную папку для каждого пакета. Такая структура соответствует структуре локального хранилища, представленной в NuGet 3.3, что позволяет повысить производительность. При добавлении дополнительных пакетов следуйте этой структуре.

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

Добавление пакетов в веб-канал извне

Если параметр apiKey опущен или имеет пустое значение, отправка пакетов в веб-канал отключена.

В версии NuGet 3.2.1 и более поздних устаревший URL-адрес /api/v2/package по умолчанию включен в дополнение к /nuget посредством параметра enableLegacyPushRoute: true в конфигурации запуска (по умолчанию NuGetODataConfig.cs ). Обратите внимание, что эта функция не работает при размещении нескольких веб-каналов в одном проекте.

Удаление пакетов из веб-канала

При использовании NuGet.Server команда nuget delete удаляет пакет из репозитория при условии, что вы указали ключ API вместе с комментарием.

Если вы хотите изменить поведение, чтобы вместо этого удалить пакет из списка (оставив его доступным для восстановления), измените значение ключа enableDelisting в web.config на true.

Настройка папки Packages

В NuGet.Server 1.5 или более поздней версии можно настроить папку с пакетами с помощью значения appSettings/packagesPath в файле web.config :

packagesPath может быть абсолютным или виртуальным путем.

Если параметр packagesPath опущен или имеет пустое значение, используется папка пакетов по умолчанию

Предоставление доступа к пакетам при публикации веб-приложения

Источник

Создание элементов управления пользовательским интерфейсом в виде пакетов NuGet

Начиная с версии Visual Studio 2017, вы можете использовать возможности добавления элементов управления UWP и WPF в пакеты NuGet. В руководстве описано, как использовать эти возможности в контексте элементов управления UWP с использованием примера ExtensionSDKasNuGetPackage. Это же применимо к элементам управления WPF, если не указано иное.

Предварительные требования

Создание структуры библиотеки

Это применимо только к элементам управления UWP.

В окне свойств проекта перейдите на вкладку сборки и установите флажок «Создать структуру библиотеки». Это изменит файл проекта и задаст для флага GenerateLibraryLayout значение true для текущее выбранной конфигурации сборки и платформы.

Можно также изменить файл проекта, чтобы добавить true в первую безусловную группу свойств. Так свойство будет применено независимо от конфигурации сборки и платформы.

Добавление поддержки элементов управления XAML на панели элементов или в области ресурсов

Чтобы элемент управления XAML отображался на панели элементов конструктора XAML в Visual Studio и в области ресурсов Blend, создайте файл VisualStudioToolsManifest.xml в корне папки tools проекта пакета. Этот файл не требуется, если не нужно, чтобы элемент управления отображался на панели элементов или в области ресурсов.

Файл имеет следующую структуру:

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

Добавление пользовательских значков для элементов управления

Как сделать свой nuget пакет. Смотреть фото Как сделать свой nuget пакет. Смотреть картинку Как сделать свой nuget пакет. Картинка про Как сделать свой nuget пакет. Фото Как сделать свой nuget пакет

Розовый фон заменяется во время выполнения. Цвет значков меняется при изменении темы Visual Studio и если ожидается этот цвет фона. Дополнительные сведения см. в разделе Изображения и значки для Visual Studio.

В приведенном ниже примере проект содержит файл изображения с именем ManagedPackage.MyCustomControl.png.

Поддержка определенных версий платформы Windows

Пакеты UWP имеют свойства TargetPlatformVersion (TPV) и TargetPlatformMinVersion (TPMinV), которые определяют самую позднюю и самую раннюю версии ОС, в которых может быть установлено приложение. Кроме того, свойство TPV определяет версию пакета SDK, на основе которой создается приложение. Учитывайте эти свойства при разработке пакета UWP: использование интерфейсов API, которые выходят за пределы определенных в приложении версий платформы, приведет либо к сбою сборки, либо к ошибке приложения во время выполнения.

Например, предположим, что вы указали в качестве значения свойства TPMinV для пакета элементов управления юбилейное обновление Windows 10 (версия 10.0, сборка 14393), и вам нужно, чтобы пакет использовался проектами UWP, предназначенными только для этой или более поздних версий. Чтобы пакет могли потреблять проекты UWP, необходимо упаковать элементы управления, используя следующие имена папок:

NuGet автоматически проверит TPMinV для используемого проекта и отменит установку, если версия будет ниже Windows 10 Anniversary Edition (10.0; сборка 14393).

Добавление поддержки на этапе разработки

По умолчанию свойства элемента управления отображаются в инспекторе свойств в категории «Прочее».

Использование строк и ресурсов

Пример можно найти в файле MyCustomControl.cs в образце пакета ExtensionSDKasNuGetPackage.

Это применимо только к элементам управления UWP.

Источник

Распространенные конфигурации NuGet

Расположение и использование файла конфигурации

ОбластьРасположение файла NuGet.ConfigОписание
РешениеТекущая папка (т. е. папка решения) или любая другая папка вплоть до уровня корня диска.Параметры папки решения применяются ко всем проектам во вложенных папках. Обратите внимание, что если файл конфигурации помещен в папку проекта, он никоим образом не влияет на проект.
ПользовательскаяWindows:
Mac/Linux: или

/.nuget/NuGet/NuGet.Config (зависит от дистрибутива ОС)
Дополнительные конфигурации поддерживаются на всех платформах. Эти конфигурации нельзя изменить с помощью инструментов. %appdata%\NuGet\config\*.Config
Mac/Linux: или

/.local/share или /usr/local/share (зависит от дистрибутива ОС)Параметры применяются ко всем операциям на компьютере, но переопределяются любыми параметрами, задаваемыми на уровне пользователя или проекта.

Примечания для более ранних версий NuGet:

Изменение параметров конфигурации

Управление параметрами осуществляется с помощью команды config command интерфейса командной строки NuGet:

Настройка значения

В NuGet 3.4 и более поздних версий можно использовать в любом значении переменные среды, такие как repositoryPath=%PACKAGEHOME% (Windows) и repositoryPath=$PACKAGEHOME (Mac/Linux).

Удаление значения

Чтобы удалить значение, укажите ключ с пустым значением.

Создание нового файла конфигурации

Порядок применения параметров

Благодаря применению нескольких файлов NuGet.Config вы можете хранить параметры в различных местах так, чтобы они применялись к отдельному проекту, группе проектов или всем проектам. Эти параметры совместно применяются к любым операциям NuGet, которые вызываются из командной строки или из среды Visual Studio. Приоритет при этом имеют параметры, которые находятся на уровне, ближайшем к проекту или текущей папке.

В частности, NuGet загружает параметры из различных файлов конфигурации в следующем порядке:

Параметры, найденные в этих файлах, NuGet применяет следующим образом:

Пошаговое руководство по параметрам

Допустим, у вас есть следующая структура папок на двух отдельных дисках:

В показанных ниже расположениях присутствует четыре файла NuGet.Config со следующим содержимым. (В этот пример не включен файл уровня компьютера, поведение которого аналогично файлу уровня пользователя.)

Файл А. Файл на уровне пользователей ( %appdata%\NuGet\NuGet.Config в Windows,

/.config/NuGet/NuGet.Config в Mac и Linux):

Файл Б. disk_drive_2/NuGet.Config :

Файл В. disk_drive_2/Project1/NuGet.Config :

Файл Г. disk_drive_2/Project2/NuGet.Config :

Затем NuGet загружает и применяет параметры следующим образом, в зависимости от места вызова:

Дополнительная конфигурация на уровне пользователя

Источник

Управление пакетами с использованием CLI nuget.exe

С помощью средства CLI вы можете легко восстанавливать пакеты NuGet в проектах и решениях. Это средство обеспечивает все функциональные возможности NuGet в Windows и большинство функций, выполняемых в рамках проекта Mono на компьютере Mac и Linux.

Предварительные требования

Установка пакета

Команда install позволяет скачать и установить пакет в проект с использованием заданных источников пакетов. По умолчанию для этого используется текущая папка. Установите новые пакеты в папку packages в корневом каталоге проекта.

Откройте командную строку и перейдите в каталог, в котором находится файл проекта.

Выполните следующую команду для установки пакета NuGet в папку packages.

Установка определенной версии пакета

Если при использовании команды install версия пакета не указана, NuGet установит его последнюю версию. Вы также можете установить определенную версию пакета Nuget.

Удаление пакета

Если возникает необходимость, пакеты следует удалять из папки packages.

Вывод списка пакетов

Например, можно вывести список пакетов в папке packages.

Если вы указываете условие поиска, в результаты будут включены названия пакетов, теги и описания пакетов.

Обновление отдельного пакета

При выполнении команды install NuGet устанавливает последнюю версию пакета, кроме случаев, когда версия задается с помощью соответствующего параметра.

Обновление всех пакетов

Восстановление пакетов

Используйте команду restore, которая скачивает и устанавливает любые отсутствующие пакеты из папки packages.

Получение версии CLI

Используйте следующую команду:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *