Compartilhar via


Notas de versão do NuGet 2.6

Notas de versão do NuGet 2.5 | Notas de versão do NuGet 2.6.1 para WebMatrix

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

Recursos notáveis na versão

Suporte para Visual Studio 2013

O NuGet 2.6 é a primeira versão que oferece suporte para o Visual Studio 2013. E, assim como o Visual Studio 2012, a extensão do Gerenciador de Pacotes NuGet é incluída em todas as edições do Visual Studio.

Para fornecer o melhor suporte possível para o Visual Studio 2013 e ainda dar suporte ao Visual Studio 2010 e ao Visual Studio 2012 e manter 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 direcionada ao Visual Studio 2010 e 2012.

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

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

Com essa divisão, o botão "Instalar NuGet" da página inicial do nuget.org leva você para a página de instalação do NuGet, na qual você pode encontrar mais informações sobre como instalar os diferentes clientes do NuGet.

Suporte à transformação do Web.config XDT

Um dos recursos mais solicitados para o cliente NuGet foi dar suporte a transformações XML mais poderosas usando o mecanismo de transformação XDT que é usado em transformações de configuração de build 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/). Esta etapa permitiu que o mecanismo XDT fosse usado livremente por outro software de software livre, incluindo o cliente NuGet. O segundo anúncio foi o plano para dar suporte ao uso do mecanismo XDT para transformações no cliente NuGet. O NuGet 2.6 inclui essa integração.

Como funciona

Para aproveitar o suporte XDT do NuGet, a mecânica é semelhante àquelas 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, embora as transformações de configuração usem 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, portanto, os pacotes que usam o web.config.transforms existentes continuarão funcionando. As transformações XDT também podem ser aplicadas a qualquer arquivo XML (não apenas web.config), para que você possa aproveitar isso para outros aplicativos em seu projeto.

O que você pode 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 a outra, o XDT fornece controles para combinar elementos de várias maneiras, desde a correspondência simples de nomes de atributos até o suporte completo ao XPath. Depois que um elemento ou conjunto de elementos correspondente é encontrado, o XDT fornece um conjunto avançado de funções para manipular os elementos, quer isso signifique adicionar, atualizar ou remover atributos, colocar um novo elemento em um local específico ou substituir ou remover todo o elemento e seus filhos.

Configuração Global da Máquina

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, mais importante ainda, mantidos e versionados de maneira 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 do pacote personalizado do NuGet fornece uma maneira de organizar pacotes; no entanto, as fontes de pacote personalizadas não são detectáveis por conta própria.

O NuGet 2.6 estende a lógica para configurar o NuGet pesquisando a hierarquia de pastas no caminho %ProgramData%/NuGet/Config. Os instaladores de produto podem adicionar arquivos de configuração personalizados do NuGet nessa pasta para registrar uma fonte de pacote personalizada para seus produtos. Além disso, a estrutura de pastas dá suporte à semântica para produto, versão e até SKU do IDE. As configurações desses diretórios são aplicadas na ordem a seguir com uma estratégia de precedência onde "o último a ser aplicado prevalece".

  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

Nesta lista, o espaço reservado {IDE} é específico para o IDE no qual o NuGet está em execução, portanto, no caso do Visual Studio, será "VisualStudio". Os marcadores {Version} e {SKU} são fornecidos pelo IDE, como "11.0" e "WDExpress", "VWDExpress" e "Pro", respectivamente. Em seguida, 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 personalizada que ficará visível apenas 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 que programas como instaladores de software adicionem fontes de pacote em todo o computador à configuração do NuGet, a caixa de diálogo de configuração do NuGet também foi atualizada para permitir o registro de fontes de pacote como específicas do usuário (por exemplo, registradas em %AppData%/NuGet/NuGet.Config) ou em todo o computador.

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

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

Nesse arquivo, uma nova fonte de pacote chamada "Pacotes do .NET Framework" está configurada.

Configurações de máquina para o arquivo de configuração NuGet

À medida que o número de pacotes servidos pela galeria do NuGet continua a crescer em um ritmo exponencial, a melhoria da pesquisa permanece sempre na parte superior 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 da pesquisa.

A partir do NuGet 2.6, sempre 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 do NuGet aumente os resultados da pesquisa por meio de tendências de instalação contextual. Uma atualização futura para a Galeria do NuGet habilitará esse aumento de relevância contextual.

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

Os autores do pacote estão confiando cada vez mais nas Estatísticas de Pacotes fornecidas na Galeria do NuGet. Um ponto de dados ausente significativo que os autores pediram é uma diferenciação entre instalações diretas de pacotes e instalações de dependências. Até agora, o cliente NuGet não enviou 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 do NuGet mostrarão esses dados como operações de instalação distintas, com o sufixo "-Dependency".

  • Install
  • Install-Dependency
  • Update
  • Atualizar-Dependência
  • Reinstall
  • Reinstall-Dependency

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

Correções

O NuGet 2.6 também inclui várias correções de bug. Para obter uma lista completa de itens de trabalho corrigidos no NuGet 2.6, exiba 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).