Notas sobre a versão do NuGet 1.2
Notas sobre a versão do NuGet 1.0 e 1.1 | Notas sobre a versão do NuGet 1.3
O NuGet 1.2 foi lançado em 30 de março de 2011.
Desde o início, o NuGet oferecia suporte a bibliotecas direcionadas a diferentes estruturas. Mas agora os pacotes podem conter assemblies destinados a perfis específicos, como o perfil do telefone Windows. Para segmentar um perfil específico de uma estrutura, acrescente um traço seguido da abreviação do perfil. Por exemplo, para direcionar o SilverLight em execução em um telefone Windows (também conhecido como telefone Windows 7), é possível colocar um assembly na pasta sl3-wp, conforme demonstrado na captura de tela a seguir.
É possível perguntar por que não escolhemos somente usar "wp7" como apelido. Em parte, estamos prevendo que o telefone Windows 7 poderá executar uma versão mais recente do Silverlight no futuro, caso em que talvez você precise ser mais específico sobre qual perfil de estrutura está segmentando.
Ao instalar um pacote com assemblies nomeados fortes, o NuGet agora pode detectar casos em que o projeto requer que redirecionamentos de associação sejam adicionados ao arquivo de configuração para que o projeto os compile e adicione automaticamente. A Parte 3 da série de postagens no blog de David Ebbo sobre o controle de versão do NuGet intitulada "Unification via Binding Redirects" aborda a finalidade desse recurso em mais detalhes.
Em alguns casos, um pacote pode depender de um assembly que está no .NET Framework. A rigor, nem sempre é necessário que o consumidor do pacote faça referência ao assembly da estrutura. Mas, em alguns casos, isso é importante, como quando o desenvolvedor precisa codificar em tipos nesse assembly para usar o pacote. O novo elemento frameworkAssemblies
, um elemento filho do elemento de metadados, permite especificar um conjunto de elementos frameworkAssembly
que apontam para um assembly de estrutura no GAC. Observe a ênfase no assembly de estrutura.
Esses assemblies não são incluídos em seu pacote, pois presume-se que estejam em todos os computadores como parte do .NET Framework. A tabela a seguir lista os atributos do elemento frameworkAssembly
.
Atributo | Descrição |
---|---|
assemblyName | Obrigatório. Nome do assembly, como System.Net . |
targetFramework | Opcional. Permite especificar uma estrutura e um nome do perfil (ou alias) aos quais esse assembly de estrutura se aplica, como "net40" ou "sl4". Usa o mesmo formato descrito em Suporte a várias estruturas de destino. |
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.ComponentModel.DataAnnotations" targetFramework="net40" />
<frameworkAssembly assemblyName="System.ServiceModel" targetFramework="net40" />
</frameworkAssemblies>
Ao usar a ferramenta de linha de comando nuget.exe, agora é possível usar o comando SetApiKey para armazenar sua chave de API. Dessa forma, você não precisará especificá-lo toda vez que enviar um pacote. Para obter mais detalhes sobre como salvar sua chave de API com o nuget.exe, leia a documentação sobre como publicar um pacote.
O Gerenciador de Pacotes foi atualizado para oferecer suporte ao NuGet 1.2. Para obter mais informações, confira o [Package Explorer release notes](http://nuget.codeplex.com/wikipage?title=New%20features%20in%20NuGet%20Package%20Explorer%201.0)
.
A lista anterior foi a mais perceptível dos muitos recursos que implementamos e bugs que corrigimos. Em suma, implementamos/corrigimos [59 work items](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%201.2&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0)
nesta versão.
- 1.2 Incompatibilidade de pacotes: Pacotes criados com a versão mais recente da ferramenta de linha de comando, nuget.exe (> 1.2) não funcionarão com versões mais antigas do suplemento NuGet VS (como 1.1). Se você encontrar uma mensagem de erro informando algo sobre esquema incompatível, você está executando esse erro. Atualize o NuGet para a última versão.
- Incompatibilidade do NuGet.Server: se você estiver hospedando um feed NuGet interno usando o projeto NuGet.Server, precisará atualizar esse projeto com a versão mais recente do NuGet.Server.
- Erro de incompatibilidade de assinatura: se você encontrar um erro durante uma atualização com uma mensagem sobre uma incompatibilidade de assinatura, será necessário desinstalar o NuGet primeiro e, em seguida, instalá-lo. Isso está listado em nossa página de Problemas conhecidos, que fornece mais detalhes. O problema afeta somente aqueles que executam o Visual Studio 2010 SP1 e têm uma versão do NuGet 1.0 instalada que foi assinada incorretamente. Esta versão só foi disponibilizada a partir do site da CodePlex por um breve período para que esse problema não afete muitas pessoas.