Compartilhar via


Notas sobre a versão do NuGet 6.10

Veículos de distribuição do NuGet:

Versão do NuGet Disponível na versão do Visual Studio Disponível em SDKs do .NET
6.10.2 Visual Studio 2022 versão 17.10 8.0.3xx1

1 instalado com Visual Studio 2022 com qualquer cargo de trabalho do .NET

Resumo: novidades na versão 6.10.2

Problemas corrigidos nesta versão

  • Reverter a opção Habilitar a centralização implícita do gerenciamento de pacotes quando o arquivo Directory.Packages.props existir: #11834

Lista de confirmações nesta versão

1 instalado com Visual Studio 2022 com qualquer cargo de trabalho do .NET

Resumo: novidades na versão 6.10.1

Problemas corrigidos nesta versão

  • A restauração/atualização do Visual Studio e do PMC falha quando vários projetos de packages.config na solução compartilham o mesmo nome (um item com a mesma chave já foi adicionado): #13465

  • ##[error]O comando nuget falhou com o código de saída(1) e error(Um item com a mesma chave já foi adicionado. - #13456

Lista de confirmações nesta versão

Resumo: novidades na versão 6.10

  • [Recurso]: adicionar comando de config de nuget dotnet: #12469

  • Aviso quando vulnerabilidades são detectadas durante a restauração de packages.config: #12307

  • Exibir uma barra de informações de vulnerabilidade quando há vulnerabilidades em projetos baseados em packages.config. - #13271

  • [Bug]: Provedor de Credenciais VS definindo incorretamente o valor de isRetry - #11210

  • dotnet list package --vulnerable requer logon constante no feed do nuget de terceiros: #12456

Problemas conhecidos da versão 6.10.0

O NuGet.exe 6.10.0 e o Visual Studio 17.10.0 podem ter falhas durante operações do NuGet para projetos usando packages.config nos seguintes cenários:

  • Dois ou mais projetos na solução têm o mesmo nome
  • Dois ou mais projetos na solução usam o mesmo arquivo packages.config (os arquivos de projeto existem no mesmo diretório)

Esses problemas foram corrigidos no NuGet.exe 6.10.1 e no Visual Studio 17.10.2.

Problemas e discussões sobre rastreamento público podem ser encontrados nos seguintes locais:

Alterações da falha

  • Adicionar anotações anuláveis ao NuGet.Common: #13250

  • [Pesquisa de Pacotes Dotnet] O resultado da pesquisa do pacote deve ser "version" em vez de "latestVersion" ao executar o comando "dotnet package search <Nome do Pacote> --exact-match --format json" - #13158

  • ResolvedDependencyKey deve ser struct para reduzir alocações de memória - #13138

  • [DCR]: Gerenciamento de Pacotes Central - Respeitar o arquivo .props como uma maneira de aceitar o recurso. - #11834

  • Remover NuGet.Packaging.Core: #12495

Problemas corrigidos nesta versão

  • Aviso quando vulnerabilidades são detectadas durante a restauração de packages.config em denários de CLI. - #13253

  • Parar de usar JObject na leitura de arquivos de ativos para reduzir alocações. #12715

  • Adicionar rastreamento de eventos à restauração para tornar possível medir o desempenho - #13274

  • Ler auditSources de arquivos nuget.config - #13211

  • SourceRepository.GetResourceAsync deve ser cancelável. - #13234

  • CreateWalkAsync não deve ser recursivo - #13222

  • ProjectModel.HashObjectWriter.OnFlush está usando um hash SHA512 em vez de um hash mais barato, o que parece um exagero desnecessário: #13214

  • Os metadados do pacote do proprietário são uma matriz em JSON, mas são uma sequência em Tipos de protocolo - #13186

  • Tabela de saída de dotnet package search --verbosity detailed muito larga - #13162

  • Chamadas em SetWarningProperties() têm sobrecarga de alocação devido a enumeração múltipla - #13151

  • O uso de ConcurrentStack na implementação do pool de objetos cria grandes quantidades de alocações - #13147

  • IsBestVersion faz conversão boxing de HashSet<T> resultando em muita sobrecarga de alocação durante a restauração. - #13146

  • Preterir lista de NuGet.exe em favor da pesquisa de NuGet.exe - #7912

  • [Pesquisa de Pacote Dotnet] Uma exceção sem tratamento ocorre ao pesquisar com "--verbosity detailed" e "--format json" - #13300

  • dotnet package search falha no .NET 9 preview 2 toda noite - #13286

  • Usar o StringBuilderPool em vez de alocar um novo StringBuilder - #13285

  • Passar um tamanho apropriado para List<T> - #13284

  • JsonTextWriter aloca um grande número de sequências - #13283

  • O uso de StringBuilder.Append() aloca ao anexar um int - #13282

  • Conversão boxing desnecessária de enumeradores struct - #13281

  • Os objetos Processo devem ser descartados para que o finalizador não seja executado - #13280

  • Evitar enumeradores de conversão boxing para coleções - #13279

  • [.NET 9 Preview 3] A restauração no-op não é mais no-op - #13269

  • Reduzir alocações em chamadas de IVsProjectAdpater.IsCapabilityMatchAsync - #13268

  • Consolidar implementações de restauração de packages.config minimizando as discrepâncias - #13233

  • Desenrolar o uso do LINQ para arrumar algumas alocações em AddMSBuildAssets - #13223

  • PackageSpecWriter está chamando Any em instâncias de ICollection<T>/IList<T> em vez de .Count - #13213

  • StringBuilder.Append(int) causa alocações desnecessárias - #13207

  • Os resultados da tarefa de armazenamento em cache podem fazer com que todas as continuações ocorram no mesmo thread - #13206

  • LibraryDependency cria uma coleção praticamente vazia - #13184

  • PackageSpecWriter deve escrever a sequência original para versões em vez de alocar uma nova - #13183

  • SetCentralDependencies está chamando OrderBy sem especificar a comparação o que leva por padrão ao uso da comparação sensível à cultura - #13182

  • Os resultados de pesquisa no formato json da pesquisa de pacote dotnet não devem incluir campos para os quais nenhum valor é fornecido - #13166

  • O resultado da pesquisa do pacote deve ser "totalDownloads" em vez de "total de downloads" ao executar o comando "dotnet package search <Nome do Pacote> --format json" - #13165

  • [Pesquisa de pacote dotnet] a falha ao carregar um índice de serviço deve ser um erro e não um aviso. - #13163

  • O formato de pesquisa do pacote dotnet mostra saída da ajuda além de um arquivo JSON - #13161

  • Cancelar a restauração estática baseada em gráfico não encerra o processo de restauração - #13140

  • Usar string.Contains em vez de IEnumerable.Contains na análise VersionRange - #13124

  • A restauração de gráfico estático não restaura a solução somente de packages.config - #13109

  • A restauração do NuGet sempre tocou o arquivo project.assets.json, mesmo que nenhum conteúdo seja alterado, quando precisa das mensagens de erro de log. - #13098

  • A auditoria durante a restauração não deve iniciar e falhar a operação - #13085

  • Obtendo um erro "Um item com a mesma chave já foi adicionado" na restauração. - #13067

  • A rolagem da interface do usuário do PM não carrega mais pacotes adicionais. - #13063

  • A verificação do cache de restauração do NuGet não está mais usando o cache de existência de arquivos - #13058

  • Adicionar uma referência a um esproj a partir de um projeto ASP.Net resulta em um erro NU1105 - #12986

  • RemoteDependencyWalker aloca muito devido ao fato de que é chamado recursivamente - #12748

  • [Bug]: O cancelamento da restauração msbuild é lento quando uma fonte inválida/inacessível é configurada - #11813

  • Restauração: clonagem profunda excessiva de ProjectSpec - #9041

Lista de confirmações nesta versão

Contribuições da comunidade

Agradecemos todos os contribuidores que fizeram com que esse lançamento do NuGet fosse incrível!

  • Erarndt
    • 5659 Reduzir conversão boxing ao enumerar listas
    • 5662 Usar StringBuilder.AppendInt() em mais lugares para reduzir alocações ao acrescentar inteiros a um StringBuilder
    • 5663 Remover alocações da implementação de TextWriter.NewLine
    • 5665 Usar o StringBuilder em pool
    • 5661 Evitar conversão boxing de enumerador em PackageSpecificWarningProperties.AddRangeOfCodes e TransitiveNoWarnUtils.AddToSeen
    • 5660 Garantir que os objetos Processo sejam descartados ao iniciar plug-ins de autenticação
    • 5664 Especificar o tamanho da lista em TopologicalSortUtility.CalculateRelationships
    • 5624 Alternar CreateNodeAsync para uma abordagem iterativa
    • 5584 Desenrolar o uso de LINQ para arrumar algumas alocações em AddMSBuildAssets
    • 5574 Cancelar várias chamadas de LINQ
    • 5593 Reduzir ainda mais as alocações em CreateGraphNodeAsync
    • 5592 Evitar enumeração múltipla ao escrever objetos Json
    • 5600 Evitar alocação de sequência intermediária causada por StringBuilder Append(i...
    • 5555 Desenrolar Linq em GetFlags
    • 5588 Evitar conversão boxing de enumerador HashSet em IsBestVerion
    • 5589 Atualizar a implementação do pool para usar uma pilha com um bloqueio para evitar al...
    • 5568 Alterar ResolvedDependencyKey para um struct
    • 5553 Evitar algumas alocações em GetCompatibilityData
    • 5554 Alterar de Tupla para ValueTuple para chaves Dictionary
    • 5552 Evitar criar a classe de captura para chamadas de WithExtension
    • 5556 Alternar de ConcurrentDictionary para Dictionary com bloqueio para evitar rep...
    • 5551 Usar string.Contains em vez de IEnumerable.Contains
    • 5550 Evitar fazer conversão boxing de enumerador List<T>
  • GenelleM
    • 5655 Adicionar hash não cripto de 64 bits para computação de exclusividade dgspec
    • 5629 Substituir chamadas de Any() em ICollection em PackageSpecWriter com Count > 0 Issue #13213
    • 5619 Reduz o uso do tempo de CPU em SetCentralDependencies
  • NikolaMilosavljevic
    • 5673 Habilitar publicação em VMR
    • 5625 Eliminar o pacote pré-compilado System.CommandLine
  • brianrob
    • 5650 Adicionar instrumentação de restauração