Создание и публикация nuget пакета

08.01.2019 at 17:18

nuget — это пакетный менеджер для C#. Создавать пакеты можно двумя способами: через Visual Studio и через командную строку. Я выбираю второй, так как его можно использовать на линуксе. Покажу на примере своего проекта ru.lsreg.math.

Сначала нужно зарегистрироваться на nuget.org

После этого добавляем в csproj файл в существующую PropertyGroup несколько свойств

< PackageId>ru.lsreg.math< /PackageId>
< Version>1.0.0< /Version>
< Authors>Mikhail Gubanov< /Authors>
< Company>lsreg.ru< /Company>
< PackageProjectUrl>http://lsreg.ru< /PackageProjectUrl>
< RepositoryUrl>https://github.com/lsreg/ru.lsreg.math< /RepositoryUrl>

Первые 4 обязательны, остальные опциональны. Список возможных свойств можно посмотреть здесь

Теперь собираем пакет командой

dotnet pack

будет создан ru.lsreg.math.1.0.0.nupkg

на сайте nuget.org получаем API key. Выглядит он примерно так
oy2gc6ixkn6vdakjqfcqn3deeu6mxb3efgqh5kupfbwao4

Пушим пакет в репозиторий nuget

dotnet nuget push <nupkg file> -k <api key>  -s 
https://api.nuget.org/v3/index.json

Ждем около часа, пока пакет проиндексируется и просканируется на вирусы

Теперь пакет можно добавить в проект командой

dotnet add package ru.lsreg.math --version 1.0.0