.NET Core - Bibliotecas de compartilhamento

Neste capítulo, discutiremos como compartilhar sua biblioteca como NuGet Packagepara que possa ser consumido em outro projeto. A criação de um pacote começa com o código que você deseja empacotar e compartilhar com outras pessoas, seja por meio da galeria pública nuget.org ou de uma galeria privada em sua organização. O pacote também pode incluir arquivos adicionais, como umreadme que é exibido quando o pacote é instalado e pode incluir transformações em determinados arquivos de projeto.

Vamos agora considerar um exemplo simples no qual criaremos um pacote NuGet de nossa biblioteca. Para isso, abra o prompt de comando e vá até a pasta onde está localizado o arquivo project.json de seu projeto de biblioteca.

Vamos agora executar o seguinte comando.

dotnet help

No final, você pode ver diferentes comandos como novo, restaurar e construir, etc.

O último comando é pack;isso criará um pacote NuGet. Vamos agora executar o seguinte comando.

dotnet pack

Agora você pode ver que os pacotes NuGet são produzidos na pasta bin; vamos abrir a pasta bin \ Debug.

Agora a questão é o que está dentro dos pacotes NuGet, para ver que podemos usar o NuGet Package Explorer. Vamos agora abrir o NuGet Package Explorer.

Selecione a primeira opção Open a local package.

Selecione os StringLibrary.1.0.0.nupkg e clique Open.

Você pode ver que na seção Conteúdo do pacote, temos apenas StringLibrary.dll. Na seção de metadados do pacote, você verá um pouco de informação sobre esta biblioteca como Id, Versões e todas as dependências.

Vamos agora abrir o StringLibrary.1.0.0.symbols.nupkg.

Neste pacote NuGet, você verá os arquivos de origem e o *.pdbarquivo também. Se você clicar duas vezes noStringLib.cs arquivo, você vê o código-fonte também.

Aqui a questão é: como configurar os metadados como versão, autores e descrição, etc.

O arquivo project.json é usado em projetos .NET Core para definir metadados de projeto, informações de compilação e dependências. Vamos agora abrir o arquivo project.json e adicionar as seguintes informações adicionais.

{ 
   "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": {} 
   } 
}

Agora você pode ver informações adicionais como nome do autor, descrição e versão adicionadas aqui. Vamos salvar este arquivo, construir o projeto da biblioteca e, em seguida, executar o comando “dotnet pack” novamente.

Dentro da pasta bin \ Debug, você pode ver que os pacotes StringLibrary NuGet são produzidos com a versão 1.0.1; vamos abri-lo no NuGet Package Explorer.

Você verá os metadados atualizados. A questão agora é: como podemos usá-lo em outro pacote.

Precisamos começar publicando em algum lugar no feed do NuGet e então podemos consumi-lo em outro projeto.

Existem duas opções para publicar os metadados atualizados -

  • Publique em nuget.org
  • Envie os metadados para o feed NuGet privado

Aqui, usaremos o feed NuGet privado porque é muito mais fácil do que configurar uma conta no nuget.org. Para saber como publicar seu pacote no nuget.org, você pode seguir todas as diretrizes especificadas aquihttps://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package.

Siga estas etapas para enviar os metadados atualizados ao feed NuGet privado.

Step 1- Para começar, precisamos do utilitário de linha de comando nuget e temos que instalá-lo. Vamos agora abrir o Gerenciador de pacotes NuGet e pesquisar nuget.commandline.

Step 2 - Selecione Nuget.Commandline e clique em Install.

Step 3 - Clique OKpara instalar o Nuget.Commandline. Você também pode instalá-lo manualmente baixando-o do seguinte URLhttps://dist.nuget.org/index.html e, em seguida, configure a variável de ambiente.

Step 4 - Assim que a instalação for concluída, vamos abrir o prompt de comando novamente e ir para o bin\Debug pasta onde os pacotes NuGet estão localizados e especifique o seguinte comando -

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

Step 5 - No comando acima, adicionamos o pacote StringLibrary.1.0.1.nupkg ao nosso feed privado e a localização é D:\PrivateNugetPackages, -Source especifica a fonte do pacote.

Step 6 - Você pode ver que o StringLibraryestá instalado; aStringLibrary pode ainda ser adicionado ao feed privado.

Step 7 - Vamos para essa pasta.

Step 8 - Dentro do stringlibrary pasta, você verá outra pasta com o nome da versão e aqui é 1.0.1.

O pacote NuGet está localizado aqui.