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
7.0.2 Visual Studio 2026 versão 18.1.1 10.0.1021

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

Resumo: Novidades na 7.0.2

  • Vulnerability InfoBar no Visual Studio tem agora o link "Como corrigir com o 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 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