Partilhar via


Notas sobre a versão do NuGet 2.7.2

Notas sobre a versão do NuGet 2.7.1 | Notas sobre a versão do Nuget 2.8

O NuGet 2.7.2 foi lançado em 11 de novembro de 2013.

Correções de bugs e recursos em destaque

Texto de licença

Por algum tempo, a Microsoft incluiu os pacotes NuGet para várias bibliotecas de código aberto populares como parte dos modelos padrão para projetos de aplicativo Web no Visual Studio. jQuery é provavelmente o exemplo mais conhecido desse tipo de biblioteca. Devido ao contrato de suporte associado aos componentes que são fornecidos junto com um produto, o arquivo de script do pacote contém texto de licença diferente do arquivo de script encontrado no mesmo pacote na galeria de nuget.org pública. Essa diferença no texto pode impedir que as atualizações de pacote prossigam como resultado dos diferentes blocos de texto de licença, fazendo com que os arquivos de script tenham valores de hash de conteúdo diferentes (e, portanto, sejam tratados como modificados dentro do projeto).

Para atenuar esse problema, o NuGet 2.7.2 permite que o autor do script inclua o bloco de texto de licença em uma seção especialmente marcada com a seguinte aparência.

/************** NUGET: BEGIN LICENSE TEXT **************
    * The following code is licensed under the MIT license
    * Additional license information below is informational
    * only.
    ************** NUGET: END LICENSE TEXT ***************/

Ao atualizar pacotes com arquivos de conteúdo contendo esse bloco, o NuGet não leva em consideração o conteúdo do bloco na comparação com a versão na galeria do NuGet e, portanto, pode excluir e atualizar o arquivo de conteúdo como se ele correspondesse à cópia original.

Este bloco é identificado pelo texto "NUGET: BEGIN LICENSE TEXT" e "NUGET: END LICENSE TEXT" que ocorrem em qualquer lugar nas linhas inicial e final. Não existem outros requisitos de formatação, permitindo que esse recurso seja usado em qualquer tipo de arquivo de texto, independentemente do idioma.

Adicionar redirecionamentos de associação para assemblies que não são da estrutura

Para assemblies que fazem parte do .NET Framework, o NuGet ignora a adição de redirecionamentos de associação no arquivo de configuração do aplicativo ao atualizar o pacote. Essa correção aborda uma regressão no NuGet 2.7 em que redirecionamentos de associação não estavam sendo adicionados para alguns assemblies, mesmo que esses assemblies não fossem considerados parte do .NET Framework. O NuGet 2.7.2 restaura o comportamento anterior do NuGet 2.5 e 2.6 e adiciona os redirecionamentos de associação.

Instalando bibliotecas portáteis com o Xamarin Tools instalado

Quando as ferramentas de desenvolvimento do Xamarin são instaladas em um computador, elas modificam os dados de configuração das estruturas compatíveis para especificar a compatibilidade entre as combinações de estrutura de destino existentes e as estruturas do Xamarin. Com a versão 2.7.2, o NuGet agora está ciente dessas regras de compatibilidade implícitas e, portanto, facilita para os desenvolvedores que visam plataformas Xamarin instalar bibliotecas portáteis que são compatíveis com Xamarin, mas não explicitamente marcadas como tal nos metadados do pacote em si.

Definições de configuração em todos os computadores respeitados

Ao usar arquivos Nuget.Config hierárquicos, a chave repositoryPath não estava sendo respeitada para os arquivos Nuget.Config mais próximos da raiz da solução. No Visual Studio 2013, o NuGet instala um arquivo Nuget.Config personalizado em %ProgramData%\NuGet\Config\VisualStudio\12.0\Microsoft.VisualStudio.config para adicionar a origem do pacote "Microsoft e .NET". Como resultado, a solução alternativa para usar um repositoryPath personalizado em uma solução foi excluir o Nuget.Config no nível do computador - o que também significava remover a origem do pacote "Microsoft e .NET". O NuGet 2.7.2 agora respeita as regras de precedência para repositoryPath ao usar arquivos Nuget.Config hierárquicos.

Todas as Alterações

Para obter uma lista completa dos itens de trabalho corrigidos no NuGet 2.7.2, consulte o [NuGet Issue Tracker for this release](https://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%202.7.2&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0&reasonClosed=Fixed).