Упаковка библиотеки классов Razor
Часто выполняемая задача — это упаковка библиотек для повторного использования другими разработчиками. Благодаря пакету NuGet любой разработчик может легко получить все ссылки .NET, правильно настроенные для своего приложения.
В предыдущем модуле вы создали компонент модального диалогового окна и использовали его в приложении. Теперь вы хотите использовать его в других приложениях.
В этом модуле показано, как настроить библиотеку классов Razor как пакет NuGet. Вы также узнаете, как упаковать библиотеку для распространения с помощью службы репозитория пакетов, например NuGet.org или GitHub.
Настройка библиотеки классов Razor для упаковки NuGet
Экосистема .NET позволяет легко определить свойства, требуемые другим разработчикам для идентификации и использования ваших компонентов. Все эти свойства можно определить в файле проекта (*.csproj) вашей библиотеки классов Razor, чтобы они перемещались и обновлялись соответствующим образом при обновлении вашей библиотеки.
Настройку полей для идентификации вашего пакета можно выполнить в диалоговом окне Свойства проекта Visual Studio — пакет или самостоятельно создать записи непосредственно в файле *.csproj.
Для создания пакета нужно заполнить четыре поля:
Поле | Description | Default value |
---|---|---|
PackageId | Идентификатор пакета, уникальный во всем репозитории NuGet. | Значение AssemblyName библиотеки |
Версия | Конкретный номер версии в форме основная_версия.незначительная_версия.исправление[-суффикс], где -суффикс необязательно определяет предварительные версии. | 1.0.0 |
Авторы | Авторы пакета. | AssemblyName |
Company | Имя компании, ответственной за создание и публикацию пакета. | AssemblyName |
Некоторые из этих полей имеют значения по умолчанию, и может показаться забавным опубликовать пакет с именем компании MyFirstLibrary. Настоятельно рекомендуется явно определять эти значения.
В предыдущем модуле было показано, что статическое содержимое библиотеки классов Razor доступно здесь: _content/[PACKAGE_ID]/
. Теперь вы видите, где настроено значение PackageId
.
Пример файла проекта с этими значениями может выглядеть так:
<PropertyGroup>
<PackageId>Learn.MyFirstLibrary</PackageId>
<Version>0.1.0-alpha1</Version>
<Authors>Susan Developer, Terry Programmer</Authors>
<Company>AdventureWorks</Company>
</PropertyGroup>
Вы также можете настроить проект для создания пакета NuGet при сборке, выбрав параметр Создать пакет NuGet при сборке в диалоговом окне Свойства проекта Visual Studio или добавив запись GeneratePackageOnBuild
рядом с другими полями пакета.
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
Можно настроить множество необязательных свойств проекта, в том числе:
Description
для показа в репозитории NuGet- Уведомление об авторских правах
- Сведения о лицензировании
- Значки
- URL-адреса проектов
Полный список свойств см. в документации Microsoft по целевому объекту пакета MSBuild.
Упаковка библиотеки
После записи конфигурации библиотеки в файл *.csproj можно создать пакет NuGet в Visual Studio, щелкнув правой кнопкой мыши проект и выбрав команду Упаковать, или в папке проекта, выполнив следующую команду:
dotnet pack
Команда dotnet pack
создаст пакет с идентификатором PackageID и номером версии и поместит его в папку выходных данных сборки стандартного проекта.