Notas de versão do NuGet 7.0

Veículos de distribuição NuGet:

Versão NuGet Disponível na versão Visual Studio Disponível em SDK(s) .NET
7.0.0 Visual Studio 2026 versão 18.0.0 10.0.1001
7.0.1 Visual Studio 2026 versão 18.1.0
7.0.2 Visual Studio 2026 versão 18.1.1 10.0.1021
7.0.3 N/A 10.0.1061

1 Instalado com Visual Studio 2026 com qualquer carga de trabalho .NET

Resumo: Novidades na 7.0.3

  • Aviso de Segurança | Atualização de Defesa em Profundidade para o Cliente NuGet - 14857

Lista de confirmações nesta versão

Resumo: Novidades na 7.0.2

  • O Vulnerability InfoBar em Visual Studio agora tem o link "Como corrigir com GitHub Copilot" para a documentação do MCP Server da NuGet - #14680

Problemas corrigidos nesta versão

  • Dotnet Nuget Porque é que está a escrever o pacote alvo numa nova linha em vez de no gráfico do pacote - #14664

Lista de confirmações nesta versão

Resumo: Novidades na 7.0.1

Problemas corrigidos nesta versão

  • Corrigido o erro NU1011 que ocorria ao usar o Central Package Management, permitindo versões flutuantes #14637

Lista de confirmações nesta versão

Resumo: O que há de novo na versão 7.0.0

  • Os projetos que têm como alvo .NET 10 alertam para vulnerabilidades em pacotes transitivos ao usar por defeito NuGetAuditMode=all #14161

  • está ativado para todos os projetos que visam .NET 10 #14345

  • Criei o servidor NuGet Model Context Protocol (MCP) Server, suportado por .NET SDK 10 ou posterior. O MCP do NuGet está pré-instalado no Visual Studio 2026 e pode ser instalado no VS 17.14 e VS Code. O servidor é publicado no nuget.org como o pacote NuGet.Mcp.Server .

  • Habilite o empacotamento de projetos PackageReference herdados sem a necessidade de um pacote - #14046

  • Desativar o uso do SHA-1 em .NET 10 - #13814

  • O painel Detalhes reflete os Dados de Vulnerabilidade de Fontes de Auditoria - #14554

  • Suporte ao NuGet AuditSources na interface Package Manager - #13954

  • Migre as definições do NuGet para a nova janela de Opções do Visual Studio

    • Migrar as definições de "Fontes de pacotes" nas Opções do Visual Studio - #14233

    • Migrar definições de "Mapeamento de Origem de Pacotes" nas opções do Visual Studio - #14234

  • dotnet update package --vulnerable (Correção de auditoria) - #13372

Alterações de grande impacto

  • Adicionar validação de ID de pacote durante a restauração - #14407

  • Project.json já não é suportado na versão 7.0. Visual Studio 2026 migrou automaticamente projetos project.json para PackageReference

  • A remoção de pacotes resultará em um diff único no ficheiro de bloqueio de pacotes - #14272

  • O processo de poda privatiza uma referência direta aplicando PrivateAssets=all e IncludeAssets=none - #14196

  • Gerar um erro para o uso de impressões digitais SHA-1 nos comandos NuGet.exe sign e mssign - #13962

  • Mostrar um erro quando uma fonte não https é usada em um recurso em um índice de serviço - #13364

SDK Alterações significativas

  • Project.json Obsolescência

    • Remover project.json pack - #7931

    • Remover o suporte para project.json - #7199

    • Remover PackageSpec.Dependencies - #14446

    • Limpar APIs redundantes da especificação do pacote - #6231

  • APIs de extensibilidade do NuGet VS não utilizadas removidas - #14403

  • Remova todas as APIs não utilizadas marcadas como obsoletas em NuGet.Frameworks, NuGet.Protocol, NuGet.Commands & NuGet.PackageManagement - #14395

  • Remova APIs obsoletas de NuGet.Common, NuGet.Configuration, NuGet.LibraryModel, NuGet.Packaging e NuGet.ProjectModel - #14393

  • Bloqueie e remova código para implementações de restauração não utilizadas, como Standalone. - #14184

  • Remover DotnetToolReference restauração - #14183

Problemas corrigidos nesta versão

Correções no SDK do NuGet

  • Evite utilizar a desserialização baseada em reflexão no NuGet.Protocol - #14470

  • JsonSerializerIsReflectionDisabled na atualização para Nuget.Protocols 6.13.1 em aplicativos com JsonSerializerIsReflectionEnabledByDefault definido como false - #14111

.NET CLI

  • Ativar CanShowDialog para Plugins de Autenticação do .NET Core - #14010

  • "dotnet package update" modifica o ficheiro de projeto errado (csproj) - #14585

  • dotnet nuget verify deve produzir o hash do conteúdo do pacote - #14384

  • A atualização do pacote dotnet deve suportar --verbosity - #14319

  • A atualização do pacote dotnet deve suportar CPM e VersionOverride - #14318

  • A atualização do pacote dotnet deve suportar vários pacotes - #14308

  • A atualização do pacote dotnet deve suportar o mapeamento da fonte do pacote - #14307

  • Atualização do pacote dotnet para uma versão específica - #14306

  • Atualização do pacote dotnet versão inicial - #14305

  • [Bug Bash][Instável] Um erro "Tentativa de dividir por zero". ocorre ao executar o comando "dotnet list [ProjectPath] package --vulnerable" - #14122

  • [Recurso]: dotnet list [projecto | solução] package não funciona com filtros de solução - #11789

Interface do Utilizador do Gestor de Pacotes no Visual Studio

  • Converter controle de pesquisa em UI fluente - #14469

  • Use o Fluent TextBox para a versão instalada da interface do utilizador do Project PM - #14466

  • [Bug Bash] Há uma pequena lacuna na lista suspensa de versão da PM UI - #11990

  • [Bug Bash] A lista suspensa da interface do usuário do PM não distingue a cor do plano de fundo entre o item selecionado e o item focalizado - #10977

  • [Bug Bash] Pressionar o botão de página para baixo no teclado ao focar na caixa suspensa 'Versão' com a tecla Tab torna a caixa vazia - #13605

  • Código morto: ActionsAndVersions View - #14464

Opções do Visual Studio

  • Desativar opções herdadas do VS Definições do NuGet - #14398

  • Ao adicionar uma fonte http na caixa de diálogo de opções, peça ao usuário que clique em uma caixa de seleção para concordar mais explicitamente com a adição de AllowInsecureConnections - #14377

  • Erro necessário nas configurações de fontes de pacote para fonte HTTP sem AllowInsecureConnections - #14367

  • Melhorar a validação das configurações do NuGet em Opções do Visual Studio - #14359

  • Mostrar erros de validação nas páginas de opções do NuGet à medida que digita - #14358

  • [Bug Bash] [Instável] A primeira remoção de um mapeamento de origem da lista 'Mapeamentos de origem de pacote' na caixa de diálogo 'Mapeamento de origem de pacote' não funciona - #13520

  • [Localização] O título da tabela 'Package Source Mapping' na página 'Options->NuGet Package Manager->Package Source Mapping' não foi localizado - #14550

  • [Testes de Erros] A fonte de pacote offline não pode ser ativada após desativá-la da lista de fontes de pacote de máquina anteriormente na janela 'Options->NuGet Package Manager->Package Sources' - #13434

  • [Bug Bash] A coluna "source" da caixa de diálogo "Add New Package Source Mapping" não tem a largura mínima definida, o que faz com que possa ser arrastada para fora da vista - #13355

  • [Bug Bash] A primeira reabertura do diálogo Opções deveria restaurar a fonte padrão de pacotes "Pacotes Offline do Microsoft Visual Studio" na lista "fontes de pacotes" quando todas as fontes tinham sido eliminadas anteriormente - #13278

  • [Bug Bash] O mapeamento recém-adicionado da origem do pacote não deve ser sensível a maiúsculas e minúsculas na janela "Option->NuGet Package Manager->Mapeamento de Origem de Pacotes" - #13210

  • [Caça aos Bugs] A nova associação de fonte de pacotes será perdida após retornar ao separador "Mapeamento de Fonte de Pacotes" a partir de outro separador na janela "Option->NuGet Package Manager" - #13150

  • [Bug Bash] O botão "Remover" deve ser desativado quando nenhum mapeamento de origem de pacote é selecionado na lista "Mapeamentos de origem de pacote" - #13115

  • [CSY] Teclas de atalho duplicadas aparecem no diálogo "Options->NuGet Package Manager->Package Sources" - #7822

  • VS NuGet PMUI - A área de fontes de pacotes em toda a máquina também deve ser redimensionável verticalmente - #7560

  • [Bug Bash] Haverá uma fonte de pacote duplicada ao modificar o nome da fonte "Microsoft Visual Studio Offline Packages" - #13057

  • [Bug Bash] A página "Options->NuGet Package Manager->Package Sources" é desativada após assinalar ou desmarcar a caixa de seleção "Enabled" de qualquer uma das fontes de pacotes que tenham fontes duplicadas - #14499

  • Tem que selecionar manualmente o texto pré-predefinido na caixa de diálogo Adicionar fonte de pacote - #14450

  • O VS não deve excluir os atributos de origem do pacote quando o nome é atualizado - #14370

Poda de Pacotes

  • Lançamento de aviso para PrunePackageReference - #14126

  • Falta de avisos de auditoria de "nuget install" quando nuget.org não é uma origem de pacotes - #14096

  • Não é possível enviar por push para fontes HTTP especificadas via linha de comando - #14047

  • A poda de pacotes está ativada para todos os projetos com .NET 10, incluindo os de destino múltiplo - #14345

  • Mover estruturas habilitadas para remoção para NuGet.targets - #14424

  • Altere _RestorePackagePruningDefault para RestorePackagePruningDefault - #14511

Restore

  • dotnet restore/Visual Studio em conflito com .esproj + Nx project.json - #13512

  • Melhore o NU1004 quando a poda é usada com o modo bloqueado - #14075

  • Considere não escrever NuGetToolVersion para arquivos props MSBuild gerados no Restore - #14355

  • A operação de restauração do NuGet falha se o SQL Server Management Studio 21 estiver instalado - #14349

  • Remover NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSING - #14257

  • Remova RestoreTargetGraph.Name, pois é redundante, dado que restoreTargetGraph.TargetGraphName é a versão amplamente utilizada - #14529

  • Remover RestoreArgs.LockFileVersion pois a sua funcionalidade não é utilizada - #14524

  • Remover NUGET_BULK_RESTORE_COORDINATION e NUGET_SOLUTION_CACHE_INITIALIZATION fallbacks - #14502

Resolvedor de dependências

  • Novo resolvedor de dependência não lida corretamente com versões de pré-lançamento flutuantes - #13833

  • Reativar nova resolução de algoritmo com ficheiros de bloqueio - #13800

Other

  • Parar de mesclar pacote - #13079

  • Torne os Build.ps1 do NuGet.Client mais amigáveis para GitHub Copilot no VSCode - #14453

  • Gerar [Content_Types].xml idênticos durante compilações repetidas - #14357

  • Pacote csproj legado: incluir destinos e tarefas de pacote nas ferramentas de compilação do VS - #14520

  • VS falha quando o único projeto na solução é um projeto project.json - #14553

  • Tratamento de exceções de revisão - #14440

  • Melhore o perf evitando pesquisas redundantes de dicionário - #14432

  • LockFileLibrary não precisa ser mutável - #14385

Lista de confirmações nesta versão

Contribuições comunitárias

Obrigado a todos os colaboradores que ajudaram a tornar este lançamento do NuGet incrível!

  • SimonCropp
    • 6720 Remover construtores padrão redundantes
    • 6610 adicionar "não tem uma versão mínima" às mensagens em GetNupkgInfo
    • 6581 remover pesquisas de dicionário redundantes em MarkTransitiveOrigin
    • 6596 habilitar a anulabilidade em PackageItemViewModelTests
    • 6634 remover IFrameworkTargetable
    • 6616 evitar a análise de versão redundante em PluginFindPackageByIdResource
    • 6595 habilitar a anulabilidade em ReadmePreviewViewModelTests
    • 6587 remover pesquisa de dicionário redundante em ProcessUnrankedEntries
    • 6598 habilitar a anulabilidade em EmbeddedResourcesCapabilityTests
    • 6577 usam campos em vez de propriedades privadas
    • 6622 remover lista não utilizada em GetPackagesToBeReinstalled
    • 6589 verificação de nulidade redundante para o valor de retorno de projectManagerService.GetMetadataAsync
    • 6605 habilitar nullável em VSRestoreSettingsUtilityTests
    • 6575 remover pesquisa de dicionário redundante em CredentialServiceAdapter.GetCredentials
    • 6601 habilitar nullabe em NuGetInstallCommandTest
    • 6593 ativar nullable em IProjectContextInfoExtensionsTests
    • 6614 remover listas redundantes em DependencyGraphFileRequestProvider
    • 6625 remover variáveis não utilizadas no PackageExtractor
    • 6609 corrigir a anulabilidade em UnresolvedMessages
    • 6608 remover contexto não utilizado para Collectar
    • 6628 remover enumeração redundante em CredentialsItem
    • 6617 remover instância da lista toolItems em MSBuildRestoreUtility
    • 6599 corrigir a anulabilidade do parâmetro em Constructor_SetReportAbuseUrl_Initialize...
    • 6604 habilitar anulável em LegacyPackageReferenceProjectTests
    • 6631 remover DependencyGraphSpecRequestProvider.CollectReferences
    • 6635 remover EnvDteProjectExtensions.PathComparer
    • 6623 remover redundantes GetManifestResourceNames em ManifestSchemaUtility
    • 6619 remover variável packageID não utilizada
    • 6620 remover variáveis não utilizadas no PackageManagerControl
    • 6640 Remover tratamento de exceções redundantes
    • 6637 Remover PackageManagerControl.AddMigratorBar
    • 6629 remover instância HashSet não utilizada em ResolverMetadataClient
    • 6602 habilitar anulável em MSBuildUtilityTest
    • 6641 remover condição nula redundante em UpdateCommand.ExecuteCommandAsync
    • 6683 remover alocação de string redundante em GetTempFilePath
    • 6626 remover variáveis não utilizadas em SignedPackageArchiveIOUtility
    • 6574 remover pesquisa de dicionário redundante em CreatePackageSourceMappingDictionary
    • 6594 habilitar a anulabilidade em InfiniteScrollListTests
    • 6682 Utilizar atraso assíncrono no SafeReadAsync
    • 6600 habilitar nullable em NuGetUpdateCommandTests
    • 6606 ativar "nullable" em VSNominationUtilitiesTests
    • 6613 remover variável de tipo redundante em GetExternalProject
    • 6611 remover instâncias solutionService não utilizadas
    • 6643 remover MsBuildUtility.GetMsBuildPathInPathVar
    • 6632 remover PackageSpecFactory.GetTargetFrameworkStrings
    • 6573 evitar alguma alocação em ProjectFactory.ProcessDependencies
    • 6588 Remover pesquisas de dicionário de GetPreviewResultsAsync
    • 6597 corrigir a anulabilidade em PackageModelCreationTestHelper
    • 6612 remover instâncias de lista não utilizadas no NuGetPackageManager
    • 6591 ativar suporte a "nullable" em PackageSourceValidatorTests
    • 6603 corrigir a nulabilidade em IVsProjectBuildProperties
    • 6636 remover campos _project* de PackageReferenceProject
    • 6630 remover instância de identidade não utilizada em LocalV3FindPackageByIdResource
    • 6618 remover instância de LoggerAdapter no NuGetPackageManager
    • 6621 remover projetos não utilizadosByUniqueName em SolutionUpToDateChecker
    • 6624 remover variáveis não utilizadas no PackageBuilder
    • 6633 remover JsonPackageSpecReader DelimitedStringSeparators e VersionSeparators
    • 6642 use cast em vez de as e null check em CommandLineParser.AssignValue
    • 6615 remover lista redundante em GetPluginAsync
    • 6627 remova GetDirectoryName não utilizado em MisplacedAssemblyOutsideLibRule
    • 6578 remover pesquisa de dicionário redundante em PrunePackageTree.PruneDowngrades
    • 6576 remover pesquisa de dicionário redundante em RecommenderPackageFeed
  • Baronfel
    • 6554 Corrigir fluxo de código NuGet-SDK>
    • 6514 Fixar e estabilizar a propriedade nos ficheiros de propriedades gerados do NuGet durante o processo de restauração.
  • Omajid
    • 6500 Garantir uma ordem estável de entradas em Content_Types.xml
    • 6507 Suportar a compilação no Linux quando a assinatura completa não está disponível
  • AlexDelepino
    • 6793 Atualizar Prioridades Ngen para o VS
  • Hickford
    • 6475 Preencher fontes de auditoria de forma consistente
  • Nohwnd
    • 6735 Desativar o carregamento do perfil nas chamadas do utilitário powershell.exe
  • Mmitche
    • 6539 Mover o NuGet para xliff-tasks
  • Dkurepa
    • 6644 Adicionar Version.Details.props
  • BDUQUES
    • 6530 Corrigir a restauração da localização do MSBuild no SSMS ao invés de no Visual Studio
  • ToddGrun
    • 6519 Torne o LockFileLibrary imutável por motivos de desempenho e sanidade