Partilhar via


Notas de versão do NuGet 7.0

Veículos de distribuição NuGet:

Versão NuGet Disponível na versão do Visual Studio Disponível no(s) 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

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

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 destinados ao .NET 10 alertam para vulnerabilidades em pacotes transitivos usando como padrão NuGetAuditMode=all #14161

  • A remoção de pacotes está habilitada para todos os projetos destinados ao .NET 10 #14345

  • Criado o servidor MCP (NuGet Model Context Protocol), suportado pelo SDK do .NET 10 ou posterior. O MCP do NuGet é pré-instalado no Visual Studio 2026 e pode ser instalado no VS 17.14 e no 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

  • Depreciar o uso do SHA-1 no .NET 10 - #13814

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

  • Suporte a NuGet AuditSources na interface do usuário do Gerenciador de Pacotes - #13954

  • Migrar as configurações do NuGet para a nova janela Opções do Visual Studio

    • Migrar configurações de "Fontes de pacote" nas Opções do Visual Studio - #14233

    • Migrar configurações de "Mapeamento de origem de pacote" em 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 não é mais suportado na versão 7.0. O Visual Studio 2026 migrou automaticamente os projetos project.json para o 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 descontinuação

    • 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

CLI de .NET

  • Ativar CanShowDialog para plug-ins de autenticação do núcleo .NET - #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 usuário do Gerenciador 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 usuário 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 traduzido - #14550

  • [Bug Bash] A fonte do pacote offline não pode ser habilitada depois de desativá-la da lista de fontes de pacotes 'Fontes de pacotes em toda a 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 da caixa de diálogo Opções deve trazer de volta a fonte de pacote padrão "Microsoft Visual Studio Offline Packages" na lista "package sources" quando todas as fontes foram excluídas anteriormente - #13278

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

  • [Bug Bash] Novo mapeamento de origem de pacote adicionado será perdido depois de voltar para a guia "Mapeamento de origem do pacote" de outra guia na janela "Gerenciador de pacotes Option-NuGet>" - #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 são exibidas na janela de 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 depois de ativar ou desativar a caixa de seleção "Enabled" de qualquer fonte de pacote que tenha fontes duplicadas - >

  • 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 remoção de pacotes está habilitada para todos os projetos destinados ao .NET 10, incluindo os de vários destinos - #14345

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

  • Altere _RestorePackagePruningDefault para RestorePackagePruningDefault - #14511

Restore

  • restauração dotnet/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 Restauração do NuGet falhará 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 o Build.ps1 do NuGet.Client mais amigável ao Copilot do GitHub 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 nuget.exe a restauração localizando MSBuild do SSMS em vez do Visual Studio
  • ToddGrun
    • 6519 Torne o LockFileLibrary imutável por motivos de desempenho e sanidade