Udostępnij za pomocą


Informacje o wersji NuGet 7.0

Pojazdy dystrybucyjne NuGet:

Wersja narzędzia NuGet Dostępna w wersji programu Visual Studio Dostępne w pakietach SDK .NET
7.0.0 Visual Studio 2026 w wersji 18.0.0 10.0.1001
7.0.1 Visual Studio 2026 w wersji 18.1.0

1 Zainstalowane z programem Visual Studio 2026 z dowolnym obciążeniem platformy .NET

Podsumowanie: Co nowego w wersji 7.0.1

Problemy rozwiązane w tej wersji

  • Naprawiono błąd NU1011, który wystąpił podczas korzystania z centralnego zarządzania pakietami z dozwolonymi wersjami pływającymi #14637

Lista zatwierdzeń w tej wersji

Podsumowanie: Co nowego w wersji 7.0.0

  • Projekty przeznaczone dla platformy .NET 10 domyślnie ostrzegają przed lukami w zabezpieczeniach pakietów przechodnich, ustawiając NuGetAuditMode=all #14161

  • Oczyszczanie pakietów jest włączone dla wszystkich projektów przeznaczonych dla platformy .NET 10 #14345

  • Utworzono serwer NuGet Model Context Protocol (MCP), obsługiwany przez zestaw SDK platformy .NET 10 lub nowszy. Program NuGet MCP jest wstępnie zainstalowany w programie Visual Studio 2026 i można go zainstalować w programach VS 17.14 i VS Code. Serwer jest publikowany na nuget.org jako pakiet NuGet.Mcp.Server .

  • Włączanie pakowania starszych projektów PackageReference bez konieczności tworzenia pakietu — #14046

  • Wycofanie wsparcia dla użycia algorytmu SHA-1 na platformie .NET 10 — #13814

  • Okienko szczegółów odzwierciedla dane luk w zabezpieczeniach ze źródeł inspekcji — #14554

  • Obsługa biblioteki NuGet AuditSources w interfejsie użytkownika Menedżera pakietów — #13954

  • Migrowanie ustawień narzędzia NuGet do nowego okna Opcje programu Visual Studio

    • Migrowanie ustawień "Źródła pakietów" w opcjach programu Visual Studio — #14233

    • Migrowanie ustawień "Mapowanie źródła pakietów" w opcjach programu Visual Studio — #14234

  • dotnet update package --vulnerable (Poprawka audytu) — #13372

Zmiany przełomowe

  • Dodaj weryfikację identyfikatora pakietu podczas przywracania — #14407

  • Project.json nie jest już obsługiwana w wersji 7.0. Program Visual Studio 2026 automatycznie migrował projekty project.json do elementu PackageReference

  • Przycinanie pakietów spowoduje jednorazową różnicę w pliku blokady dla pakietów - #14272

  • Przycinanie bezpośrednich odwołań przez zastosowanie PrivateAssets=all i IncludeAssets=none - #14196

  • Zgłoś błąd użycia odcisków palców SHA-1 w poleceniach NuGet.exe sign, mssign — #13962

  • Pokaż błąd, gdy źródło inne niż https jest używane w zasobie w indeksie usługi — #13364

Zmiany powodujące niezgodność zestawu SDK

  • Wycofanie z użytku Project.json

    • Usuwanie pakietu project.json — #7931

    • Usuń obsługę project.json — #7199

    • Usuń plik PackageSpec.Dependencies — #14446

    • Czyszczenie redundantnych interfejsów API specyfikacji pakietów — #6231

  • Usunięto nieużywane interfejsy API rozszerzalności programu NuGet VS. #14403

  • Usuń wszystkie nieużywane interfejsy API oznaczone jako przestarzałe w nuGet.Frameworks, NuGet.Protocol, NuGet.Commands i NuGet.PackageManagement — #14395

  • Usuwanie przestarzałych interfejsów API z narzędzia NuGet.Common, NuGet.Configuration, NuGet.LibraryModel, NuGet.Packaging i NuGet.ProjectModel — #14393

  • Blokuj i usuwaj kod dla nieużywanych implementacji przywracania, takich jak Standalone. - #14184

  • Usuwanie DotnetToolReference przywracanie — #14183

Problemy rozwiązane w tej wersji

Poprawki zestawu SDK NuGet

  • Nie używaj deserializacji opartej na odbiciu w protokole NuGet.Protocol — #14470

  • JsonSerializerIsReflectionDisabled podczas aktualizacji do biblioteki Nuget.Protocols 6.13.1 w aplikacjach z zestawem JsonSerializerIsReflectionEnabledByDefault ustawiono wartość false — #14111

CLI .NET

  • Włączanie aplikacji CanShowDialog dla wtyczek uwierzytelniania platformy .NET Core — #14010

  • "dotnet package update" modyfikuje nieprawidłowy plik projektu (csproj) — #14585

  • dotnet nuget verify powinno zwrócić skrót zawartości pakietu - #14384

  • Aktualizacja pakietu dotnet powinna obsługiwać parametr --verbosity — #14319

  • Aktualizacja pakietu dotnet powinna obsługiwać CPM i VersionOverride — #14318

  • aktualizacja pakietu dotnet powinna obsługiwać wiele pakietów — #14308

  • aktualizacja pakietu dotnet powinna obsługiwać mapowanie źródła pakietów — #14307

  • dotnet package update do określonej wersji — #14306

  • dotnet aktualizacja pakietu wstępna wersja - #14305

  • [Bug Bash][Niestabilne] Błąd: „Podjęto próbę podzielenia przez zero.” występuje podczas wykonywania polecenia "dotnet list [ProjectPath] package --vulnerable" - #14122

  • [Funkcja]: dotnet list [project | solution] package nie działa z filtrami rozwiązań — #11789

Interfejs użytkownika menedżera pakietów w programie Visual Studio

  • Konwertowanie kontrolki wyszukiwania na fluent UI — #14469

  • Używanie aplikacji Fluent TextBox dla zainstalowanej wersji interfejsu użytkownika programu Project PM — #14466

  • [Bug Bash] Istnieje niewielka luka na liście rozwijanej wersji interfejsu użytkownika PM — #11990

  • [Bug Bash] Lista rozwijana interfejsu użytkownika PM nie rozróżnia koloru tła między wybranym elementem a podświetlonym elementem — #10977

  • [Bug Bash] Naciśnięcie przycisku Page Down na klawiaturze przy skupieniu się na liście rozwijanej 'Wersja' za pomocą klawisza Tab sprawia, że pole jest puste — #13605

  • Nieaktywny kod: ActionsAndVersions View — #14464

Opcje programu Visual Studio

  • Likwidowanie starszych opcji programu VS Ustawienia NuGet — #14398

  • Podczas dodawania źródła http w oknie dialogowym opcji użytkownik musi kliknąć pole wyboru, aby jawnie wyrazić zgodę na dodanie opcji AllowInsecureConnections — #14377

  • Błąd wymagany w ustawieniach źródeł pakietów dla źródła HTTP bez parametru AllowInsecureConnections — #14367

  • Ulepszanie walidacji ustawień narzędzia NuGet w opcjach programu Visual Studio — #14359

  • Pokaż błędy walidacji na stronach opcji NuGet podczas wpisywania — #14358

  • [Bug Bash] [Niestabilne] Pierwsze usuwanie mapowania źródła z listy "Mapowania źródeł pakietów" w oknie dialogowym "Mapowanie źródeł pakietów" nie działa — #13520

  • [Lokalizacja] Tytuł tabeli "Mapowanie źródła pakietu" na stronie "Opcje – Menedżer pakietów NuGet – Mapowanie źródła pakietu" nie został zlokalizowany — >

  • [Bug Bash] Nie można włączyć źródła pakietu offline po wyłączeniu go z listy źródeł "Źródła pakietów całej maszyny" wcześniej w oknie "Opcje>Menedżera pakietów NuGet>Źródła pakietów" - #13434

  • [Bug Bash] Kolumna "źródło" okna dialogowego "Dodawanie nowego mapowania źródła pakietów" nie ma ustawionej minimalnej szerokości, co pozwala przeciągnąć ją poza widok — #13355

  • [Bug Bash] Pierwsze ponowne otwarcie okna dialogowego Opcje powinno przywrócić domyślne źródło pakietu "Pakiety offline programu Microsoft Visual Studio" na liście "źródła pakietów", gdy wszystkie źródła zostały usunięte wcześniej — #13278

  • [Bug Bash] Nowo dodane mapowanie źródła pakietu nie powinno uwzględniać wielkości liter w oknie „Opcje->Menedżer pakietów NuGet->Mapowanie źródła pakietu” — #13210

  • [Bug Bash] Nowo dodane mapowanie źródła pakietu zostanie utracone po powrocie do karty "Mapowanie źródła pakietów" z innej karty w oknie "Opcje Menedżera pakietów NuGet>" — #13150

  • [Bug Bash] Przycisk "Usuń" powinien zostać wyłączony, gdy na liście "Mapowania źródła pakietów" nie wybrano żadnego mapowania źródła pakietów — #13115

  • [CSY] Zduplikowane skróty klawiszowe pojawiają się w oknie dialogowym "Opcje->NuGet Package Manager->Źródła pakietów" - #7822

  • VS NuGet PMUI — obszar źródeł pakietów dla całej maszyny powinien mieć również możliwość zmiany rozmiaru w pionie — #7560

  • [Bug Bash] Podczas modyfikowania nazwy źródła "Pakiety offline programu Microsoft Visual Studio" — #13057 będzie istnieć zduplikowane źródło pakietu

  • [Bug Bash] Strona "Opcje->Menadżer pakietów NuGet->Źródła pakietów" zostaje wyłączona po zaznaczeniu lub odznaczeniu pola wyboru "Włączone" dla dowolnego źródła pakietów ze zduplikowanymi wpisami — #14499

  • Należy ręcznie wybrać wstępnie wypełniony tekst w oknie dialogowym Dodawanie źródła pakietu — #14450

  • Program VS nie powinien usuwać atrybutów źródła pakietu po zaktualizowaniu nazwy — #14370

Oczyszczanie pakietów

  • Rozpoczęcie wdrażania ostrzeżenia dla PrunePackageReference — #14126

  • Brak ostrzeżeń audytu z polecenia "nuget install", gdy nuget.org nie jest źródłem pakietu — #14096

  • Nie można wysłać do źródeł HTTP określonych za pośrednictwem wiersza polecenia — #14047

  • Oczyszczanie pakietów jest włączone dla wszystkich projektów celujących w platformę .NET 10, w tym również dla projektów z wieloma docelowymi platformami — #14345

  • Przenieś ramy z obsługą przycinania do plików NuGet.targets — #14424

  • Zmień _RestorePackagePruningDefault na RestorePackagePruningDefault — #14511

Przywróć

  • dotnet restore/Visual Studio konflikt z .esproj + Nx project.json - #13512

  • Ulepszenie NU1004, gdy oczyszczanie jest używane w trybie zablokowanym — #14075

  • Rozważ niezapisania elementu NuGetToolVersion w celu wygenerowania plików props programu MSBuild podczas przywracania — #14355

  • Przywracanie nuGet kończy się niepowodzeniem, jeśli zainstalowano program SQL Server Management Studio 21 — #14349

  • Usuń NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSING — #14257

  • Usuń RestoreTargetGraph.Name, ponieważ jest to zbędne w porównaniu do restoreTargetGraph.TargetGraphName, który jest szeroko stosowaną wersją — #14529

  • Usuń element RestoreArgs.LockFileVersion, ponieważ jest on nieużywany — #14524

  • Usuń rezerwowe opcje NUGET_BULK_RESTORE_COORDINATION i NUGET_SOLUTION_CACHE_INITIALIZATION — #14502

Rozwiązywacz zależności

  • Nowy program rozpoznawania zależności nie obsługuje poprawnie przestawnych wersji wstępnych — #13833

  • Ponowne włączenie rozwiązania algorytmu przy użyciu plików blokady — #13800

Other

  • Zatrzymywanie pakietu ilmerging — #13079

  • Uczynienie Build.ps1 NuGet.Client bardziej przyjaznym dla narzędzia GitHub Copilot w programie VSCode — #14453

  • Generowanie identycznych [Content_Types].xml przy powtarzających się kompilacjach — #14357

  • pakiet starszych plików csproj: uwzględnij elementy docelowe pakietów i zadania w narzędziach kompilacji programu VS — #14520

  • Program VS ulega awarii, gdy jedynym projektem w rozwiązaniu jest projekt project.json — #14553

  • przegląd obsługi wyjątków — #14440

  • Popraw wydajność, unikając nadmiarowych odwołań do słowników — #14432

  • Funkcja LockFileLibrary nie musi być modyfikowalna — #14385

Lista zatwierdzeń w tej wersji

Wkład społeczności

Dziękujemy wszystkim współpracownikom, którzy sprawili, że to wydanie NuGet jest niesamowite!

  • SimonCropp
    • 6720 usuń nadmiarowe konstruktory domyślne
    • 6610 dodaj komunikat "nie ma minimalnej wersji" do komunikatów w getNupkgInfo
    • 6581 usuń nadmiarowe wyszukiwania słowników w języku MarkTransitiveOrigin
    • 6596 włącz obsługę wartości null w PackageItemViewModelTests
    • 6634 usuń IFrameworkTargetable
    • 6616 unikaj nadmiarowego analizowania wersji w PluginFindPackageByIdResource
    • 6595 włącz wartość null w funkcji ReadmePreviewViewModelTests
    • 6587 — usunięcie nadmiarowego wyszukiwania w słowniku w ProcessUnrankedEntries
    • 6598 włącz możliwość null w EmbeddedResourcesCapabilityTests
    • 6577 używa pól zamiast właściwości prywatnych
    • 6622 usuń nieużytowaną listę w pliku GetPackagesToBeReinstalled
    • 6589 nadmiarowe sprawdzanie wartości null dla zwracanej wartości projectManagerService.GetMetadataAsync
    • 6605 włącz wartość null w programie VSRestoreSettingsUtilityTests
    • 6575 usuń nadmiarowe wyszukiwanie słownika w pliku CredentialServiceAdapter.GetCredentials
    • 6601 włącz parametr nullabe w narzędziu NuGetInstallCommandTest
    • 6593 włączanie dopuszczania wartości null w IProjectContextInfoExtensionsTests
    • 6614 usuń nadmiarowe listy w dependencyGraphFileRequestProvider
    • 6625 usuń nieużytkowane zmienne w module PackageExtractor
    • 6609 naprawa wartości null w unresolvedMessages
    • 6608 usuń nieużywany kontekstForGather
    • 6628 usuń nadmiarowe wyliczenie w credentialsItem
    • 6617 remove toolItems list instance in MSBuildRestoreUtility (Usuwanie wystąpienia listy toolItems w narzędziu MSBuildRestoreUtility)
    • 6599 napraw wartość null parametru w Constructor_SetReportAbuseUrl_Initialize...
    • 6604 Włącz obsługę wartości null w LegacyPackageReferenceProjectTests
    • 6631 remove DependencyGraphSpecRequestProvider.CollectReferences
    • 6635 remove EnvDteProjectExtensions.PathComparer
    • 6623 usuń zbędne "GetManifestResourceNames" w "ManifestSchemaUtility"
    • 6619 usuń nieużywaną zmienną packageID
    • 6620 usuń nieużytkowane zmienne w kontrolce PackageManagerControl
    • 6640 — usuwanie nadmiarowej obsługi wyjątków
    • 6637 remove PackageManagerControl.AddMigratorBar
    • 6629 usuń nieużyte wystąpienie HashSet w ResolverMetadataClient
    • 6602 włącz dopuszczanie wartości null w MSBuildUtilityTest
    • 6641 usuń nadmiarowy warunek null w updateCommand.ExecuteCommandAsync
    • 6683 usuń nadmiarowe alokacje ciągów w GetTempFilePath
    • 6626 usuń nieużywane zmienne w pliku SignedPackageArchiveIOUtility
    • 6574 usuń nadmiarowe wyszukiwanie słownika w CreatePackageSourceMappingDictionary
    • 6594 włącza wartość null w pliku InfiniteScrollListTests
    • 6682 Używanie opóźnienia asynchronicznego w narzędziu SafeReadAsync
    • 6600 włącz obsługę wartości null w NuGetUpdateCommandTests
    • 6606 włącz wartość null w programie VSNominationUtilitiesTests
    • 6613 usuń nadmiarową zmienną typu w getExternalProject
    • 6611 usuń nieużywane wystąpienia solutionService
    • 6643 usuń msBuildUtility.GetMsBuildPathInPathVar
    • 6632 usuń PackageSpecFactory.GetTargetFrameworkStrings
    • 6573 unikaj alokacji w elemencie ProjectFactory.ProcessDependencies
    • 6588 usuń wyszukiwania w słowniku z metody GetPreviewResultsAsync
    • 6597 poprawiono elementy związane z wartością null w PackageModelCreationTestHelper
    • 6612 usuń nieużytkowane wystąpienia listy w narzędziu NuGetPackageManager
    • 6591 włącza wartość null w module PackageSourceValidatorTests
    • 6603 naprawia wartość null w właściwościach IVsProjectBuildProperties
    • 6636 usuwanie pól _project* z elementu PackageReferenceProject
    • 6630 usuń nieużytkowaną instancję tożsamości w LocalV3FindPackageByIdResource
    • 6618 remove LoggerAdapter instance in NuGetPackageManager (Usuwanie wystąpienia loggerAdapter w narzędziu NuGetPackageManager)
    • 6621 usuń nieużywane projektyByUniqueName w SolutionUpToDateChecker
    • 6624 usuń nieużytkowane zmienne w programie PackageBuilder
    • 6633 usuń moduły JsonPackageSpecReader DelimitedStringSeparators i VersionSeparators
    • 6642 użyj rzutowania zamiast operatora 'as' i sprawdzania wartości null w metodzie CommandLineParser.AssignValue
    • 6615 usuwanie nadmiarowej listy w narzędziu GetPluginAsync
    • 6627 usuń nieużywane polecenie GetDirectoryName w MisplacedAssemblyOutsideLibRule
    • 6578 usuń nadmiarowe wyszukiwanie słownika w Narzędziu PrunePackageTree.PruneDowngrades
    • 6576 usuń zbędne wyszukiwanie słownika w RecommenderPackageFeed
  • baronfel
    • 6554 Poprawka przepływu kodu zestawu NuGet-SDK>
    • 6514 Przypnij i ustabilizuj właściwość w wygenerowanych plikach NuGet props podczas przywracania.
  • omajid
    • 6500 Zapewnienie stabilnej kolejności wpisów w Content_Types.xml
    • 6507 — obsługa kompilacji w systemie Linux, gdy pełne podpisywanie jest niedostępne
  • AlexDelepine
    • 6793 Aktualizowanie priorytetów Ngen dla programu VS
  • hickford
    • 6475 Spójne wypełnianie źródeł audytu
  • nohwnd
    • 6735 Wyłącz ładowanie profilu użytkownika w wywołaniach narzędzia powershell.exe
  • mmitche
    • 6539 Przenieś NuGet do xliff-tasks
  • dkurepa
    • 6644 Dodaj wersję.Details.props
  • bdukes
    • 6530 Poprawiono nuget.exe znajdowanie programu MSBuild z programu SSMS zamiast programu Visual Studio
  • ToddGrun
    • 6519 Nie można modyfikować pliku LockFileLibrary ze względów wydajności i rozsądku