Ler em inglês

Compartilhar via


Notas sobre a versão do NuGet 1.8

Notas sobre a versão do NuGet 1.7 | Notas sobre a versão do Nuget 2.0

O NuGet 1.8 foi lançado em 23 de maio de 2012.

Problema de instalação conhecido

Se você estiver executando o VS 2010 SP1, poderá encontrar um erro de instalação ao tentar fazer upgrade no NuGet se tiver uma versão mais antiga instalada.

Outra opção é usar a solução alternativa de simplesmente desinstalar o NuGet e, em seguida, instalá-lo da Galeria de Extensões do VS. Consulte https://support.microsoft.com/kb/2581019 para obter mais informações ou vá diretamente para o hotfix do VS.

Nota: se o Visual Studio não permitir que você desinstale a extensão (o botão Desinstalar está desabilitado), você provavelmente precisará reiniciar o Visual Studio usando "Executar como administrador".

NuGet 1.8 incompatível com o Windows XP, hotfix publicado

Logo após o lançamento do NuGet 1.8, descobrimos que uma mudança de criptografia na versão 1.8 quebrou os usuários no Windows XP.

Desde então, lançamos um hotfix que resolve esse problema. Ao atualizar o NuGet por meio da Galeria de extensões do Visual Studio, você recebe esse hotfix.

Recursos

Pacotes de satélite para recursos localizados

O NuGet 1.8 agora oferece suporte à capacidade de criar pacotes separados para recursos localizados, semelhante aos recursos de assembly satélite do .NET Framework. Um pacote satélite é criado da mesma forma que qualquer outro pacote NuGet com a adição de algumas convenções:

  • A ID do pacote satélite e o nome do arquivo devem incluir um sufixo que corresponda a uma das sequências de cultura padrão usadas pelo .NET Framework.
  • No arquivo .nuspec, o pacote satélite deve definir um elemento de idioma com a mesma sequência de cultura usada no ID
  • O pacote satélite deve definir uma dependência no arquivo .nuspec para o pacote principal, que é simplesmente o pacote com o mesmo ID menos o sufixo do idioma. O pacote principal precisa estar disponível no repositório para uma instalação bem-sucedida.

Para instalar um pacote com recursos localizados, um desenvolvedor seleciona explicitamente o pacote localizado no repositório. Atualmente, a galeria NuGet não oferece nenhum tipo de tratamento especial aos pacotes de satélite.

Package manager dialog with localized pacakges

Como o pacote satélite lista uma dependência para seu pacote principal, os pacotes satélite e principal são puxados para a pasta de pacotes NuGet e instalados.

Packages folder with localized packages

Além disso, ao instalar o pacote satélite, o NuGet também reconhece a convenção de nomenclatura de cadeia de caracteres de cultura e, em seguida, copia o assembly de recurso localizado na subpasta correta dentro do pacote principal para que ele possa ser selecionado pelo .NET Framework.

Core package folder with copied resource folder

Um bug existente a ser observado com pacotes satélite é que o NuGet não copia recursos localizados para a pasta bin para projetos de site. Esse problema será corrigido na próxima versão do NuGet.

Para obter um exemplo completo demonstrando como criar e usar pacotes de satélite, consulte https://github.com/NuGet/SatellitePackageSample.

No NuGet 1.8, estabelecemos as bases para oferecer suporte a uma restrição importante na restauração de pacotes para proteger a privacidade do usuário. Essa restrição exige que os desenvolvedores que criam projetos e soluções que estão usando a restauração de pacotes consintam explicitamente que a restauração de pacotes fique online para baixar pacotes de fontes de pacotes configuradas.

Há duas maneiras comuns de fornecer esse consentimento. O primeiro pode ser encontrado na caixa de diálogo de configuração do gerenciador de pacotes, conforme mostrado abaixo. Este método destina-se principalmente aos computadores de desenvolvimento.

Package manager configuration dialog

O segundo método é definir a variável de ambiente "EnableNuGetPackageRestore" com o valor "true". Esse método destina-se aos computadores não assistidos, como servidores de CI ou de compilação.

Agora, conforme observado acima, somente lançamos as bases para esse recurso no NuGet 1.8. Na prática, isso significa que, embora tenhamos adicionado toda a lógica para habilitar o recurso, ele não é aplicado atualmente nesta versão. Ele será habilitado, no entanto, na próxima versão do NuGet, então queríamos informá-lo o mais rápido possível para que você possa configurar seus ambientes adequadamente e, portanto, não ser afetado quando começarmos a impor a restrição de consentimento.

Para obter mais detalhes, consulte a postagem do blog da equipe sobre esse recurso.

nuget.exe Melhorias de desempenho

Ao modificar o comando install para baixar e instalar pacotes em paralelo, o NuGet 1.8 traz melhorias dramáticas de desempenho para o nuget.exe e, por extensão, para a restauração de pacotes. Testes de alto nível mostram que o desempenho para instalar 6 pacotes em um projeto melhora em cerca de 35% no NuGet 1.8. Aumentar o número de pacotes para 25 demonstra um ganho de desempenho de cerca de 60%.

Correções de bugs

O NuGet 1.8 inclui algumas correções de bugs com ênfase no console do gerenciador de pacotes e no fluxo de trabalho de restauração de pacotes, particularmente no que diz respeito ao consentimento de restauração de pacotes e à integração com o Windows 8 Express. Para obter uma lista completa dos itens de trabalho corrigidos no NuGet 1.8, consulte o [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%201.8&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0).