Criando NuGet Packages - Parte 2 - Package Explorer

11/16/2012 17:09:00 By Felipe Pessoto

Agora que sabemos as convenções usadas podemos criar o package nos padrões recomendados. A forma mais fácil e rápida é usando o Nuget Package Explorer, uma GUI que cria o arquivo .nuspec e o package(.nupkg) de forma visual. Também é possível criar o package manualmente.

Instalação

Instalar o NPE é simples, como é usado o ClickOnce basta clicar aqui e confirmar que a aplicação será instalada e sempre que você abrí-la será veirficado se há uma nova atualização.

A versão atual é a 3.1, que suporta o NuGet 2.1.

Criando um novo Package

Começamos clicando em Create a new package, ou em FILE -> New (CTRL + N).

Antes de adicionarmos nossos próprios arquivos, vamos configurar o Package e suas dependencia clicando em EDIT > Edit Metadata (CTRL + K)

 Metadados

O campo Id é o mais importante, é o identificador único do seu Package e é usado quando se instala o package via linha de comando (Install-Package).

Dependências

Existem 3 tipo de dependências, de outros Packages, de Assemblies do .NET, e de DLLs incluídas na pasta lib do seu Package. Todas as DLL´s na pasta lib(como explicado mais a frente) é automáticamente adicionada como uma dependência, a não ser que especifiquemos em Filtered assembly references quais realmente queremos.

Vamos agora adicionar algumas dependência de outros Packages. Ao clicar em Edit dependencies podemos buscar os Packages e adicionar em grupos, estes grupos ajudam a especificar diferentes dependências de acordo com a versão do .NET da aplicação utilizando nosso Package, por exemplo net40, net40-client, sl4-wp, etc. Se não for especificado o Target Framework, o grupo será instalado igual para todos os .NET.

Podemos também adicionar a dependência à DLLs do .NET, por exemplo o System.ServiceModel:

 Mais detalhes sobre a especificação você pode encontrar no NuSpec reference.

Conteúdo

O NPE facilita bastante o gerenciamento de conteúdos, basta arrastar os arquivos que ele reconhece os tipos de arquivos e pergunta se você quer colocar nas pastas corretas. Por exemplo, se você adicionar uma DLL ele pergunta se você deseja colocar na pasta lib, assim a DLL será adicionada automaticamente como uma referência quando instalarem seu Package.

Se você clicar em não, terá basicamente um arquivo morto, pois arquivos na raiz do Package não são utilizados para nada.

Se desejar, pode adicionar estas pastas manualmente, clicando em CONTENT -> Add

Publicando

Se estiver fazendo um Package público, o NPE também ajuda a publicar, em FILE -> Publish. Você vai precisar de uma conta na galeria NuGet, se não tiver é só criar uma gratuitamente.

Se for uma Package da sua empresa, então você vai precisar do arquivo NUPKG, basta clicar em FILE -> Save. Também é possível salvar apenas os metadados pra criar o Package posteriormente ou manter no controle de versão, em FILE -> Save Metadata As


Comments (0)