Ler em inglês

Compartilhar via


Notas sobre a versão do NuGet 2.6

Notas sobre a versão do NuGet 2.5 | Notas sobre a versão do NuGet 2.6.1 para WebMatrix

O NuGet 2.6 foi lançado em 26 de junho de 2013.

Características em destaque na versão

Suporte para Visual Studio 2013

O NuGet 2.6 é a primeira versão que fornece suporte para o Visual Studio 2013. Assim como no Visual Studio 2012, o Gerenciador de Pacotes do NuGet está incluído em todas as edições do Visual Studio.

Para fornecer o melhor suporte possível para o Visual Studio 2013 enquanto ainda oferece suporte ao Visual Studio 2010 e ao Visual Studio 2012 e mantém os tamanhos de extensão o menor possível, estamos produzindo uma extensão separada para o Visual Studio 2013 enquanto a extensão original continua a ser direcionada ao Visual Studio 2010 e ao 2012.

A partir do NuGet 2.6, publicaremos duas extensões conforme abaixo:

  1. Gerenciador de Pacotes do NuGet (aplica-se ao Visual Studio 2010 e 2012)
  2. Gerenciador de Pacotes do NuGet para o Visual Studio 2013

Com essa divisão, o botão "Instalar NuGet" da página inicial do nuget.org leva você à página de instalação do NuGet, onde é possível encontrar mais informações sobre como instalar os diferentes clientes NuGet.

Suporte à transformação Web.config XDT

Um dos recursos mais solicitados para o cliente NuGet foi oferecer suporte a transformações XML mais poderosas usando o mecanismo de transformação XDT, que é usado em transformações de configuração da compilação do Visual Studio.

Em abril de 2013, fizemos dois grandes anúncios sobre o suporte do NuGet para XDT. A primeira foi que a própria biblioteca XDT estava sendo lançada como um pacote NuGet e [open sourced on CodePlex](http://xdt.codeplex.com/). Essa etapa permitiu que o mecanismo XDT fosse usado livremente por outros softwares de código aberto, incluindo o cliente NuGet. O segundo anúncio foi o plano de oferecer suporte ao uso do mecanismo XDT para transformações no cliente NuGet. O NuGet 2.6 inclui essa integração.

Como ele funciona

Para aproveitar o suporte XDT do NuGet, a mecânica é semelhante à do recurso de transformação de configuração atual. Os arquivos de transformação são adicionados à pasta de conteúdo do pacote. No entanto, enquanto as transformações de configuração usam um único arquivo para instalação e desinstalação, as transformações XDT permitem um controle refinado sobre ambos os processos usando os seguintes arquivos:

  • Web.config.install.xdt
  • Web.config.uninstall.xdt

Além disso, o NuGet usa o sufixo de arquivo para determinar qual mecanismo executar para transformações, para que os pacotes que usam o web.config.transforms existente continuem funcionando. As transformações XDT também podem ser aplicadas a qualquer arquivo XML (não somente web.config), para que você possa aproveitar isso para outros aplicativos em seu projeto.

O que é possível fazer com o XDT

Um dos maiores pontos fortes do XDT é sua sintaxe simples, mas poderosa, para manipular a estrutura de um DOM XML. Em vez de simplesmente sobrepor uma estrutura de documento fixa em outra estrutura, o XDT fornece controles para elementos correspondentes de várias maneiras, desde a simples correspondência de nome de atributo até o suporte completo ao XPath. Depois que um elemento correspondente ou um conjunto de elementos é encontrado, o XDT fornece um rico conjunto de funções para manipular os elementos, seja adicionando, atualizando ou removendo atributos, colocando um novo elemento em um local específico ou substituindo ou removendo todo o elemento e seus filhos.

Configuração de todos os computadores

Um dos grandes pontos fortes do NuGet é que ele divide um executável ou biblioteca grande em um conjunto de componentes modulares que podem ser integrados e, o mais importante, mantidos e versionados de forma independente. Um efeito colateral disso, no entanto, é que a ideia convencional de um produto ou família de produtos se torna potencialmente mais fragmentada. O recurso de origem de pacotes personalizados do NuGet fornece uma maneira de organizar pacotes; no entanto, as fontes de pacotes personalizados não podem ser descobertas por conta própria.

O NuGet 2.6 estende a lógica para configurar o NuGet pesquisando a hierarquia de pastas sob o caminho %ProgramData%/NuGet/Config. Os instaladores de produtos podem adicionar arquivos de configuração NuGet personalizados nessa pasta para registrar uma origem de pacote personalizada para seus produtos. Além disso, a estrutura de pastas oferece suporte à semântica para versão do produto e até mesmo SKU do IDE. As configurações desses diretórios são aplicadas na seguinte ordem com uma estratégia de precedência "last in wins".

  1. %ProgramData%\NuGet\Config*.config
  2. %ProgramData%\NuGet\Config{IDE}*.config
  3. %ProgramData%\NuGet\Config{IDE}{Version}*.config
  4. %ProgramData%\NuGet\Config{IDE}{Version}{SKU}*.config

Nessa lista, o espaço reservado {IDE} é específico para o IDE no qual o NuGet está sendo executado, portanto, no caso do Visual Studio, ele será "VisualStudio". Os espaços reservados {Version} e {SKU} são fornecidos pelo IDE (por exemplo, "11.0" e "WDExpress", "VWDExpress" e "Pro", respectivamente). Então, a pasta pode conter muitos arquivos *.config diferentes. Portanto, a empresa de componentes ACME pode, como parte de seu instalador de produto, adicionar uma fonte de pacote personalizado que será visível somente nas versões Professional e Ultimate do Visual Studio 2012 criando o seguinte caminho de arquivo:

%ProgramData%\NuGet\Config\VisualStudio\11.0\Pro\acme.config

Embora a estrutura de pastas torne simples para programas como instaladores de software adicionar fontes de pacotes de configuração do NuGet em todos os computadores, a caixa de diálogo de configuração do NuGet também foi atualizada para permitir o registro de fontes de pacotes como específicas do usuário (por exemplo, registradas em %AppData%/NuGet/NuGet.Config) ou em todos os computadores.

Esse recurso é utilizado pelo Visual Studio 2013, onde um arquivo é instalado em:

%ProgramData%\NuGet\Config\VisualStudio\12.0\Microsoft.VisualStudio.config

Dentro desse arquivo, uma nova fonte de pacote de estrutura chamada ".NET Framework Packages" é configurada.

NuGet Config File machine wide settings

À medida que o número de pacotes atendidos=s pela galeria NuGet continua a crescer em um ritmo exponencial, a melhoria da pesquisa permanece sempre no topo da lista de prioridades do NuGet. Um dos recursos planejados para o NuGet é a pesquisa contextual, o que significa que o NuGet usará informações sobre a versão e a SKU do Visual Studio que você está usando e o tipo de projeto que você está criando como critérios para determinar a relevância de possíveis resultados de pesquisa.

A partir do NuGet 2.6, cada vez que um pacote é instalado, o contexto da instalação é registrado como parte dos dados da operação de instalação. As pesquisas também enviam as mesmas informações de contexto, o que permitirá que a Galeria NuGet impulsione os resultados de pesquisa por tendências de instalação contextual. Uma atualização futura da Galeria NuGet permitirá esse aumento de relevância sensível ao contexto.

Monitorar instalações diretas versus instalações de dependência

Os autores de pacotes estão confiando cada vez mais nas Estatísticas de Pacotes fornecidas na Galeria NuGet. Um ponto de dados ausente significativo que os autores solicitaram é uma diferenciação entre instalações diretas de pacotes e instalações de dependência. Até agora, o cliente NuGet não enviava nenhum contexto em torno da operação de instalação para saber se o desenvolvedor instalou diretamente o pacote ou se ele foi instalado para satisfazer uma dependência. A partir do NuGet 2.6, esses dados agora serão enviados para a operação de instalação. As Estatísticas de Pacotes na Galeria NuGet exporão esses dados como operações de instalação separadas, com um sufixo "-Dependency".

  • Instalar
  • Install-Dependency
  • Atualizar
  • Update-Dependency
  • Reinstalar
  • Reinstall-Dependency

Além do nome de operação diferente, o ID do pacote dependente também é registrado para a instalação. Uma atualização futura da Galeria NuGet exporá esses dados nos relatórios, permitindo que os autores de pacotes entendam completamente como os desenvolvedores estão instalando seus pacotes.

Correções de bugs

O NuGet 2.6 também inclui várias correções de bugs. Para obter uma lista completa dos itens de trabalho corrigidos no NuGet 2.6, consulte o [NuGet Issue Tracker for this release](https://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%202.6&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0&reasonClosed=All).