Учебники

.NET Core — совместное использование библиотек

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

Давайте теперь рассмотрим простой пример, в котором мы создадим пакет NuGet из нашей библиотеки. Для этого откройте командную строку и перейдите в папку, где находится файл project.json вашего библиотечного проекта.

пример

Давайте теперь запустим следующую команду.

dotnet help 

команда

В конце вы можете увидеть различные команды, такие как new, restore и build и т. Д.

Последняя команда — pack; это создаст пакет NuGet. Давайте теперь выполним следующую команду.

dotnet pack

казнить

Теперь вы можете видеть, что пакеты NuGet создаются в папке bin; давайте откроем папку bin \ Debug.

Папка отладки

Теперь вопрос в том, что находится внутри пакетов NuGet, чтобы увидеть, что мы можем использовать NuGet Package Explorer. Теперь давайте откроем NuGet Package Explorer.

Откройте NuGet

Выберите первый вариант Открыть локальный пакет .

Первый вариант

Выберите StringLibrary.1.0.0.nupkg и нажмите Открыть .

Нажмите Ok

Вы можете видеть, что в разделе Содержимое пакета у нас есть только StringLibrary.dll. В разделе метаданных пакета вы увидите немного информации об этой библиотеке, такой как Id, версии и все зависимости.

Давайте теперь откроем StringLibrary.1.0.0.symbols.nupkg .

Символы

В этом пакете NuGet вы увидите исходные файлы и файл * .pdb . Если дважды щелкнуть файл StringLib.cs , вы также увидите исходный код.

StringLib.cs

Здесь вопрос заключается в том, как настроить метаданные, такие как версия, авторы и описание и т. Д.

Файл project.json используется в проектах .NET Core для определения метаданных проекта, информации о компиляции и зависимостей. Теперь давайте откроем файл project.json и добавим следующую дополнительную информацию.

{ 
   "authors": [ "Mark Junior" ], 
   "description": "String Library API", 
   "version" : "1.0.1-*", 
   "supports": {}, 
   
   "dependencies": { 
      "Microsoft.EntityFrameworkCore": "1.1.0", 
      "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
      "NETStandard.Library": "1.6.0", 
      "System.Runtime.Serialization.Json": "4.0.3", 
      "System.Runtime.Serialization.Primitives": "4.3.0" 
   }, 
   "frameworks": { 
      "netstandard1.3": {} 
   } 
}

Теперь вы можете увидеть дополнительную информацию, такую ​​как имя автора, описание и версия, добавленные здесь. Давайте сохраним этот файл, создадим проект библиотеки, затем снова выполним команду «dotnet pack».

.Net Pack

Внутри папки bin \ Debug вы можете видеть, что пакеты StringLibrary NuGet производятся с версией 1.0.1; давайте откроем его в NuGet Package Explorer.

Версия

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

Нам нужно начать с публикации где-нибудь в фиде NuGet, а затем использовать его в другом проекте.

Существует два варианта публикации обновленных метаданных:

  • Опубликуйте его на nuget.org
  • Передача метаданных в частный канал NuGet

Здесь мы будем использовать приватный канал NuGet, потому что это намного проще, чем настроить учетную запись на nuget.org. Чтобы узнать, как опубликовать ваш пакет на nuget.org, вы можете следовать всем рекомендациям, указанным здесь https://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package .

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

Шаг 1 — Для начала нам нужна утилита командной строки nuget, и мы должны установить ее. Теперь давайте откроем менеджер пакетов NuGet и поищем nuget.commandline.

Шаг 2 — Выберите Nuget.Commandline и нажмите Установить .

Командная строка

Шаг 3 — Нажмите OK, чтобы установить Nuget.Commandline. Вы также можете установить его вручную, загрузив его со следующего URL-адреса https://dist.nuget.org/index.html и затем установив переменную среды.

Ручная установка

Шаг 4 — После завершения установки, давайте снова откроем командную строку и перейдем в папку bin \ Debug, в которой находятся пакеты NuGet, и укажите следующую команду:

nuget add StringLibrary.1.0.1.nupkg -Source D:\PrivateNugetPackages 

Шаг 5 — В приведенной выше команде мы добавляем пакет StringLibrary.1.0.1.nupkg в наш частный канал, и его местоположение — D: \ PrivateNugetPackages , -Source указывает источник пакета.

Шаг 6 — Вы можете видеть, что StringLibrary установлен; StringLibrary может быть дополнительно добавлен в приватный канал.

Личный канал

Шаг 7 — Давайте перейдем к этой папке.

скоросшиватель

Шаг 8 — Внутри папки stringlibrary вы увидите другую папку с именем версии и здесь она 1.0.1.

Название версии

Пакет NuGet находится здесь.