Bagikan melalui


Catatan Rilis NuGet 7.0

Kendaraan distribusi NuGet:

Versi NuGet Tersedia dalam versi Visual Studio Tersedia di .NET SDK
7.0.0 Visual Studio 2026 versi 18.0.0 10.0.1001
7.0.1 Visual Studio 2026 versi 18.1.0

1 Diinstal dengan Visual Studio 2026 dengan beban kerja .NET apa pun

Ringkasan: Apa yang Baru di 7.0.1

Masalah yang diperbaiki dalam rilis ini

  • Memperbaiki kesalahan NU1011 yang terjadi saat menggunakan Manajemen Paket Pusat dengan versi mengambang yang diizinkan #14637

Daftar komit dalam rilis ini

Ringkasan: Apa yang Baru dalam 7.0.0

  • Proyek yang menargetkan .NET 10 memperingatkan kerentanan dalam paket transitif secara default ke NuGetAuditMode=all #14161

  • Pemangkasan paket diaktifkan untuk semua proyek yang menargetkan .NET 10 #14345

  • Server NuGet Model Context Protocol (MCP) dibuat, didukung oleh .NET 10 SDK atau yang lebih baru. MCP NuGet telah diinstal sebelumnya di Visual Studio 2026, dan dapat diinstal di VS 17.14 dan VS Code. Server diterbitkan di nuget.org sebagai paket NuGet.Mcp.Server .

  • Aktifkan pengemasan proyek PackageReference warisan tanpa perlu paket - #14046

  • Menghentikan penggunaan SHA-1 di .NET 10 - #13814

  • Panel detail mencerminkan Data Kerentanan dari Sumber Audit - #14554

  • Dukungan NuGet AuditSources di Antarmuka Pengguna Manajer Paket - #13954

  • Memigrasikan pengaturan NuGet ke jendela Opsi Visual Studio baru

    • Memigrasikan pengaturan "Sumber paket" di Opsi Visual Studio - #14233

    • Memigrasikan pengaturan "Pemetaan Sumber Paket" di Opsi Visual Studio - #14234

  • paket pembaruan dotnet --rentan (Perbaikan audit) - #13372

Perubahan mendasar

  • Menambahkan validasi ID paket selama pemulihan - #14407

  • Project.json tidak lagi didukung di 7.0. Visual Studio 2026 secara otomatis memigrasikan proyek project.json ke PackageReference

  • Pemangkasan paket akan menyebabkan perbedaan satu kali dalam file kunci paket - #14272

  • Pemangkasan memprivatisasi referensi langsung dengan menerapkan PrivateAssets=all dan IncludeAssets=none - #14196

  • Munculkan kesalahan untuk penggunaan sidik jari SHA-1 dalam perintah penandatanganan NuGet.exe dan mssign - #13962

  • Menampilkan kesalahan saat sumber non https digunakan dalam sumber daya dalam indeks layanan - #13364

Perubahan Mengganggu SDK

  • Penghentian dukungan Project.json

    • Hapus paket project.json - #7931

    • Menghapus dukungan project.json - #7199

    • Hapus PackageSpec.Dependencies - #14446

    • Bersihkan API redudan Spesifikasi Paket - #6231

  • API Ekstensibilitas NuGet VS yang Tidak Digunakan dihapus - #14403

  • Hapus semua API yang tidak digunakan yang ditandai sebagai usang di NuGet.Frameworks, NuGet.Protocol, NuGet.Commands & NuGet.PackageManagement - #14395

  • Hapus API usang dari NuGet.Common, NuGet.Configuration, NuGet.LibraryModel, NuGet.Packaging dan NuGet.ProjectModel - #14393

  • Blokir dan hapus kode untuk implementasi pemulihan yang tidak digunakan seperti Standalone. - #14184

  • Hapus DotnetToolReference pemulihan - #14183

Masalah yang diperbaiki dalam rilis ini

Perbaikan NuGet SDK

  • Jangan gunakan deserialisasi berbasis refleksi di NuGet.Protocol - #14470

  • JsonSerializerIsReflectionDisabled pada pembaruan ke NuGet.Protocols 6.13.1 di aplikasi dengan JsonSerializerIsReflectionEnabledByDefault disetel ke false - #14111

.NET CLI

  • Aktifkan CanShowDialog untuk Plugin Autentikasi inti .NET - #14010

  • "pembaruan paket dotnet" memodifikasi file proyek yang salah (csproj) - #14585

  • dotnet nuget verify seharusnya menampilkan hash konten paket - #14384

  • pembaruan paket dotnet harus mendukung --verbosity - #14319

  • pembaruan paket dotnet harus mendukung CPM dan VersionOverride - #14318

  • pembaruan paket dotnet harus mendukung beberapa paket - #14308

  • pembaruan paket dotnet harus mendukung pemetaan sumber paket - #14307

  • pembaruan paket dotnet ke versi tertentu - #14306

  • versi awal pembaruan paket dotnet - #14305

  • [Bug Bash][Tidak stabil] Kesalahan "Mencoba membagi dengan nol." terjadi ketika menjalankan perintah "dotnet list [ProjectPath] package --vulnerable" - #14122

  • [Fitur]: perintah dotnet list [proyek | solusi] package tidak berfungsi jika menggunakan filter solusi - #11789

UI Pengelola Paket di Visual Studio

  • Konversi Kontrol Pencarian ke Fluent UI - #14469

  • Gunakan Fluent TextBox untuk Versi Terinstal UI Project PM - #14466

  • [Bug Bash] Ada celah kecil dalam daftar drop-down versi PM UI - #11990

  • [Bug Bash] Daftar dropdown UI PM tidak membedakan warna latar belakang antara item yang dipilih dan item yang diarahkan kursor - #10977

  • [Bug Bash] Menekan tombol page-down pada keyboard saat memfokuskan pada kotak drop-down 'Versi' menggunakan tombol Tab menyebabkan kotak menjadi kosong - #13605

  • Kode Mati: ActionsAndVersions View - #14464

Opsi Visual Studio

  • Penonaktifan Pengaturan Opsi Visual Studio Warisan NuGet - #14398

  • Saat menambahkan sumber http dalam dialog opsi, minta pengguna mengklik kotak centang untuk lebih eksplisit menyetujui AllowInsecureConnections yang ditambahkan - #14377

  • Terjadi kesalahan dalam pengaturan Sumber Paket untuk sumber HTTP tanpa AllowInsecureConnections - #14367

  • Meningkatkan validasi pengaturan NuGet di Opsi Visual Studio - #14359

  • Tampilkan kesalahan validasi pada halaman opsi NuGet saat mengetik - #14358

  • [Bug Bash] [Tidak stabil] Penghapusan pertama pemetaan sumber dari daftar 'Pemetaan Sumber Paket' dalam dialog 'Pemetaan Sumber Paket' tidak berfungsi - #13520

  • [Pelokalan] Judul tabel 'Pemetaan Sumber Paket' di halaman 'Opsi-NuGet> Package Manager-Package> Source Mapping' tidak dilokalkan - #14550

  • [Bug Bash] Sumber paket offline tidak dapat diaktifkan setelah menonaktifkannya dari daftar sumber 'Sumber paket di seluruh mesin' sebelumnya di jendela 'Options-NuGet> Package Manager-Package> Sources' - #13434

  • [Bug Bash] Kolom "sumber" dari dialog "Tambahkan Pemetaan Sumber Paket Baru" tidak memiliki set lebar minimum yang membuatnya dapat diseret dari pandangan - #13355

  • [Bug Bash] Dialog pembukaan kembali Opsi pertama harus mengembalikan sumber paket default "Paket Offline Microsoft Visual Studio" dalam daftar "sumber paket" ketika semua sumber dihapus sebelumnya - #13278

  • [Bug Bash] Pemetaan sumber paket yang baru ditambahkan tidak boleh peka huruf besar/kecil di jendela "Option->NuGet-Package Manager->Package Source Mapping" - #13210

  • [Bug Bash] Pemetaan sumber paket baru yang ditambahkan akan hilang setelah beralih kembali ke tab "Pemetaan Sumber Paket" dari tab lain di jendela "Pengelola Paket Option-NuGet>" - #13150

  • [Bug Bash] Tombol "Hapus" harus dinonaktifkan ketika tidak ada pemetaan sumber paket yang dipilih dalam daftar "Pemetaan Sumber Paket" - #13115

  • [CSY] Hotkey duplikat ditampilkan dalam dialog "Options->NuGet Package Manager->Package Sources" - #7822

  • VS NuGet PMUI - Area sumber paket di seluruh mesin juga harus dapat diubah ukurannya secara vertikal - #7560

  • [Bug Bash] Akan ada sumber paket duplikat saat memodifikasi nama sumber "Paket Offline Microsoft Visual Studio" - #13057

  • [Bug Bash] Halaman "Opsi-Pengelola Paket NuGet>-Sumber> Paket" dinonaktifkan setelah memberi atau menghapus centang pada kotak "Diaktifkan" salah satu sumber paket yang memiliki sumber duplikat - #14499

  • Harus memilih teks yang telah diisi sebelumnya secara manual pada dialog Tambahkan Sumber Paket - #14450

  • VS tidak boleh menghapus atribut Sumber Paket saat Nama diperbarui - #14370

Optimisasi Paket

  • Peluncuran peringatan untuk PrunePackageReference - #14126

  • Peringatan audit yang tidak muncul dari "nuget install" ketika nuget.org bukan sebagai sumber paket - #14096

  • Tidak memungkinkan untuk mengunggah ke sumber HTTP yang ditentukan melalui baris perintah - #14047

  • Pemangkasan paket diaktifkan untuk semua proyek yang menargetkan .NET 10 termasuk yang multitarget - #14345

  • Pindahkan framework yang diaktifkan untuk pemangkasan ke NuGet.targets - #14424

  • Ubah _RestorePackagePruningDefault ke RestorePackagePruningDefault - #14511

Restore

  • dotnet restore/Visual Studio bentrok dengan .esproj + Nx project.json - #13512

  • Penyempurnaan NU1004 dalam penggunaan pemangkasan dengan mode terkunci - #14075

  • Pertimbangkan untuk tidak menulis NuGetToolVersion ke file properti MSBuild yang dihasilkan saat Pemulihan - #14355

  • Pemulihan NuGet gagal jika SQL Server Management Studio 21 diinstal - #14349

  • Hapus NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSING - #14257

  • Hapus RestoreTargetGraph.Name karena berlebihan dengan restoreTargetGraph.TargetGraphName, karena merupakan versi yang lebih banyak digunakan - #14529

  • Hapus RestoreArgs.LockFileVersion karena fungsionalitasnya tidak digunakan - #14524

  • Menghapus fallback NUGET_BULK_RESTORE_COORDINATION dan NUGET_SOLUTION_CACHE_INITIALIZATION - #14502

Penyelesaian ketergantungan

  • Pemecah masalah dependensi baru tidak menangani versi prarilis mengambang dengan benar - #13833

  • Resolusi algoritma baru yang dapat diperbaharui dengan file kunci - #13800

Other

  • Hentikan penerangan paket - #13079

  • Buat NuGet.Client Build.ps1 lebih ramah untuk GitHub Copilot di VSCode - #14453

  • Hasilkan file [Content_Types].xml yang identik pada setiap build berulang - #14357

  • pack legacy csproj: sertakan target paket dan tugas dalam alat build VS - #14520

  • VS mengalami crash ketika satu-satunya proyek dalam solusi adalah proyek project.json - #14553

  • tinjau penanganan pengecualian - #14440

  • Tingkatkan perf dengan menghindari pencarian kamus berlebihan - #14432

  • LockFileLibrary tidak perlu dapat diubah - #14385

Daftar komit dalam rilis ini

Kontribusi komunitas

Terima kasih untuk semua kontributor yang membantu membuat rilis NuGet ini luar biasa!

  • SimonCropp
    • 6720 menghapus konstruktor default redundan
    • 6610 menambahkan "tidak memiliki versi min" ke pesan di GetNupkgInfo
    • 6581 menghapus pencarian kamus berlebihan di MarkTransitiveOrigin
    • 6596 mengaktifkan opsi kebolehan null di PackageItemViewModelTests
    • 6634 menghapus IFrameworkTargetable
    • 6616 menghindari penguraian versi redundan di PluginFindPackageByIdResource
    • 6595 mengaktifkan kemampuan null di ReadmePreviewViewModelTests
    • 6587 menghapus pencarian kamus berlebihan di ProcessUnrankedEntries
    • 6598 mengaktifkan fitur nullability dalam EmbeddedResourcesCapabilityTests
    • 6577 menggunakan bidang alih-alih properti privat
    • 6622 menghapus daftar yang tidak digunakan di GetPackagesToBeReinstalled
    • 6589 pemeriksaan null redundan untuk projectManagerService.GetMetadataAsync mengembalikan nilai
    • 6605 mengaktifkan nullable di VSRestoreSettingsUtilityTests
    • 6575 menghapus pencarian kamus redundan di CredentialServiceAdapter.GetCredentials
    • 6601 mengaktifkan nullabe di NuGetInstallCommandTest
    • 6593 mengaktifkan nullable di IProjectContextInfoExtensionsTests
    • 6614 menghapus daftar redundan di DependencyGraphFileRequestProvider
    • 6625 menghapus variabel yang tidak digunakan di PackageExtractor
    • 6609 memperbaiki nullability di dalam UnresolvedMessages
    • 6608 menghapus konteks yang tidak digunakanForGather
    • 6628 menghapus enumerasi redundan di CredentialsItem
    • 6617 menghapus instans daftar toolItems di MSBuildRestoreUtility
    • 6599 memperbaiki nullability parameter di Constructor_SetReportAbuseUrl_Initialize...
    • 6604 mengaktifkan nullable di LegacyPackageReferenceProjectTests
    • 6631 menghapus DependencyGraphSpecRequestProvider.CollectReferences
    • 6635 hapus EnvDteProjectExtensions.PathComparer
    • 6623 menghapus GetManifestResourceNames yang berlebihan di ManifestSchemaUtility
    • 6619 menghapus variabel packageID yang tidak digunakan
    • 6620 menghapus variabel yang tidak digunakan di PackageManagerControl
    • 6640 menghapus penanganan pengecualian berlebihan
    • 6637 menghapus PackageManagerControl.AddMigratorBar
    • 6629 menghapus instans HashSet yang tidak digunakan di ResolverMetadataClient
    • 6602 mengaktifkan nullable di MSBuildUtilityTest
    • 6641 menghapus kondisi null yang berlebihan pada UpdateCommand.ExecuteCommandAsync
    • 6683 menghapus alokasi string redundan di GetTempFilePath
    • 6626 menghapus variabel yang tidak digunakan di SignedPackageArchiveIOUtility
    • 6574 menghapus pencarian kamus berlebihan di CreatePackageSourceMappingDictionary
    • 6594 mengaktifkan nullability di InfiniteScrollListTests
    • 6682 Gunakan penundaan asinkron di SafeReadAsync
    • 6600 mengaktifkan fitur nullable di NuGetUpdateCommandTests
    • 6606 mengaktifkan fitur nullable di VSNominationUtilitiesTests
    • 6613 menghapus variabel jenis redundan di GetExternalProject
    • 6611 menghapus instans solutionService yang tidak digunakan
    • 6643 menghapus MsBuildUtility.GetMsBuildPathInPathVar
    • 6632 menghapus PackageSpecFactory.GetTargetFrameworkStrings
    • 6573 menghindari beberapa alokasi di ProjectFactory.ProcessDependencies
    • 6588 menghapus pencarian kamus dari GetPreviewResultsAsync
    • 6597 memperbaiki aspek nullability dalam PackageModelCreationTestHelper
    • 6612 menghapus instans daftar yang tidak digunakan di NuGetPackageManager
    • 6591 mengaktifkan nullable dalam PackageSourceValidatorTests
    • 6603 memperbaiki nullability di IVsProjectBuildProperties
    • 6636 menghapus bidang _project* dari PackageReferenceProject
    • 6630 menghapus instans identitas yang tidak digunakan di LocalV3FindPackageByIdResource
    • 6618 menghapus instans LoggerAdapter di NuGetPackageManager
    • 6621 menghapus proyek yang tidak digunakanByUniqueName di SolutionUpToDateChecker
    • 6624 menghapus variabel yang tidak digunakan di PackageBuilder
    • 6633 penghapusan JsonPackageSpecReader DelimitedStringSeparators dan VersionSeparators
    • 6642 menggunakan cast alih-alih as dan pemeriksaan null dalam CommandLineParser.AssignValue
    • 6615 menghapus daftar redundan di GetPluginAsync
    • 6627 menghapus GetDirectoryName yang tidak digunakan di MisplacedAssemblyOutsideLibRule
    • 6578 menghapus pencarian kamus redundan di PrunePackageTree.PruneDowngrades
    • 6576 menghapus pencarian kamus berlebihan di RecommenderPackageFeed
  • baronfel
    • 6554 Perbaiki Alur Kode NuGet-SDK>
    • 6514 Sematkan dan stabilkan NuGetToolVersion properti dalam file props NuGet yang dihasilkan selama pengembalian.
  • omajid
    • 6500 Memastikan urutan entri yang stabil dalam Content_Types.xml
    • 6507 Mendukung pengembangan di Linux saat penandatanganan penuh tidak tersedia
  • AlexDelepine
    • 6793 Memperbarui Prioritas Ngen untuk VS
  • hickford
    • 6475 Mengisi sumber audit secara konsisten
  • nohwnd
    • 6735 Menonaktifkan pemuatan profil dalam panggilan utilitas powershell.exe
  • mmitche
    • 6539 Pindahkan NuGet ke xliff-tasks
  • dkurepa
    • 6644 Tambahkan Version.Details.props
  • bdukes
    • 6530 Memperbaiki nuget.exe pemulihan menemukan MSBuild dari SSMS alih-alih Visual Studio
  • ToddGrun
    • 6519 Membuat LockFileLibrary tidak dapat diubah karena alasan performa dan kewarasan