NuGet 配送車輛:
| NuGet 版本 | 可在 Visual Studio 版本中使用 | 可在 .NET SDK 中取得 |
|---|---|---|
| 7.0.0 | Visual Studio 2026 18.0.0 版 | 10.0.1001 |
| 7.0.1 | Visual Studio 2026 版本 18.1.0 |
1 與 Visual Studio 2026 一起安裝,搭配任何 .NET 工作負載
摘要:7.0.1 新增內容
此版本中已修正的問題
- 修正了在允許浮點版本時使用中央套件管理時發生的 NU1011 錯誤 #14637
摘要:7.0.0 的新功能
以 .NET 10 為目標的專案會預設將 NuGetAuditMode 設定為 all,以對可遷移套件中的弱點發出警告 #14161
已建立 NuGet 模型內容通訊協定 (MCP) 伺服器,受 .NET 10 SDK 或更新版本支援。 NuGet 的 MCP 預先安裝在 Visual Studio 2026 中,並可安裝在 VS 17.14 和 VS Code 中。 伺服器會在 nuget.org 上發佈為 NuGet.Mcp.Server 套件。
啟用封裝舊版 PackageReference 專案,無需套件 - #14046
取代 .NET 10 中的 SHA-1 使用方式 - #13814
詳細資料窗格會反映稽核來源的弱點資料 - #14554
套件管理員 UI 中的 NuGet AuditSources 支援 - #13954
將 NuGet 的設定移轉至新的 Visual Studio 選項視窗
dotnet 更新套件 --vulnerable (稽核修正) - #13372
重大突破性變更
在還原期間新增套件識別碼驗證 - #14407
7.0 不再支援 Project.json。 Visual Studio 2026 會自動將 project.json 專案移轉至 PackageReference
套件修剪會導致套件鎖定檔案中出現單次變更 —— #14272
修剪會套用 PrivateAssets=all 和 IncludeAssets=none 來私有化直接參照 - #14196
在使用 NuGet.exe 的 sign 和 mssign 命令時,因為使用 SHA-1 指紋而引發錯誤 - #13962
在服務索引的資源中使用非 https 來源時顯示錯誤 - #13364
SDK 重大變更
Project.json 不再推薦使用
已移除未使用的 NuGet VS 擴充性 API - #14403
移除 NuGet.Frameworks、NuGet.Protocol、NuGet.Commands 和 NuGet.PackageManagement 中標示為過時的所有未使用的 API - #14395
從 NuGet.Common、NuGet.Configuration、NuGet.LibraryModel、NuGet.Packaging 和 NuGet.ProjectModel 移除過時的 API - #14393
封鎖並移除未使用還原實作的程式碼,例如
Standalone。 - #14184移除恢復
DotnetToolReference- #14183
此版本中已修正的問題
NuGet SDK 修正
請勿在 NuGet.Protocol 中使用以反映為基礎的還原序列化 - #14470
在 JsonSerializerIsReflectionEnabledByDefault 設定為 false 的應用程式中,將 NuGet.Protocol 更新至 6.13.1 時,會導致 JsonSerializerIsReflectionDisabled - #14111
.NET 命令列介面 (CLI)
啟用 .NET Core 驗證外掛程式的 CanShowDialog - #14010
「dotnet 套件更新」會修改錯誤的專案檔案 (CSPROJ) - #14585
dotnet nuget verify 應該輸出封裝內容雜湊 - #14384
dotnet 套件更新應該支援 --verbosity - #14319
dotnet 套件更新應支援 CPM 和 VersionOverride - #14318
dotnet 套件更新應該支援多個套件 - #14308
dotnet 套件更新應該支援套件來源對應 - #14307
dotnet 套件更新至特定版本 - #14306
dotnet 套件更新初始版本 - #14305
[蟲子狂歡][不穩定]錯誤「嘗試除以零」。 執行命令 “dotnet list [ProjectPath] package --vulnerable” 時發生 - #14122
[功能]:dotnet list [project | solution] 套件不適用於解決方案篩選 - #11789
Visual Studio 中的套件管理員 UI
將搜尋控制項轉換為 Fluent UI - #14469
針對 Project PM UI 安裝版本使用 Fluent TextBox - #14466
[Bug Bash]在 PM UI 的版本下拉式清單中存在一個微小的間隙 - #11990
[除錯活動] PM UI 的下拉式清單不會區分所選項目和懸停項目之間的背景色彩 - #10977
[蟲子狂歡]使用 Tab 鍵聚焦於「版本」下拉式方塊時,按下鍵盤上的向下翻頁按鈕會使方塊空白 - #13605
無效程式碼:ActionsAndVersions 檢視 - #14464
Visual Studio 選項
退役舊版 VS NuGet 設定 - #14398
在選項對話方塊中新增 http 來源時,請讓使用者按一下複選框,以更明確地同意新增 AllowInsecureConnections - #14377
沒有 AllowInsecureConnections 的 HTTP 來源的套件來源設定中需要發生錯誤 - #14367
改善 Visual Studio 選項中 NuGet 設定的驗證 - #14359
輸入時在 NuGet 選項頁面上顯示驗證錯誤 - #14358
[蟲子狂歡][不穩定]第一次從「套件來源對應」對話方塊中的「套件來源對應」清單中移除來源對應不起作用 - #13520
[在地化]「Options-NuGet> 套件管理員->套件來源對應」頁面中的資料表標題「套件來源對應」未被在地化 - #14550
[Bug Bash] 先前在 [Options-NuGet> 套件管理員->套件來源] 視窗中,從 [全域套件來源] 來源清單停用離線套件來源之後,無法啟用離線套件來源 - #13434
[錯誤檢測活動]「新增套件來源對應」對話方塊的「來源」欄沒有設定最小寬度,因此可以將其拖曳到視線之外 - #13355
[除錯活動] 第一次重新開啟 [選項] 對話方塊時,應在「套件來源」清單中恢復為預設的套件來源「Microsoft Visual Studio 離線套件」,當所有來源先前被刪除時 - #13278
[錯誤測試] 新增的套件來源對應不應該在 "Option-NuGet Package Manager-Package Source Mapping" 視窗中區分大小寫 - #13210
[Bug Bash] 從「選項 - NuGet 套件管理員」視窗中的其他索引標籤切換回「套件來源對應」索引標籤後,新增加的套件來源對應會遺失 - #13150
[Bug Bash] 當在「套件來源對應」清單中未選取套件來源對應時,「移除」按鈕應該被停用 - #13115
[CSY]重複的熱鍵顯示在 [選項->NuGet 套件管理員->套件來源] 對話方塊中 - #7822
VS NuGet PMUI - 全機器套件來源區域也應該可垂直調整大小 - #7560
[Bug Bash] 修改來源名稱「Microsoft Visual Studio 离线套件」時,會出現重複的套件來源 - #13057
[錯誤測試] 當對擁有重複來源的任何一個套件來源勾選或取消勾選「已啟用」核取方塊後,「選項->NuGet 套件管理員->套件來源」頁面會被停用 - #14499
必須在 [新增套件來源] 對話方塊中手動選取預先填入的文字 - #14450
VS 不應在更新名稱時刪除套件來源屬性 - #14370
封裝精簡
PrunePackageReference 的警告推出 - #14126
當 nuget.org 不是套件來源時,會遺失 「nuget install」 的稽核警告 - #14096
無法推送至透過命令列指定的 HTTP 來源 - #14047
針對所有以 .NET 10 為目標的專案啟用套件修剪,包括多目標專案 - #14345
將啟用修剪功能的框架移至 NuGet.targets - #14424
將_RestorePackagePruningDefault變更為 RestorePackagePruningDefault - #14511
Restore
dotnet restore/Visual Studio 與 .esproj 和 Nx project.json 衝突 - #13512
在搭配鎖定模式使用修剪時改善 NU1004 - #14075
請考慮不要在還原時將 NuGetToolVersion 寫入產生的 MSBuild props 檔案 - #14355
如果已安裝 SQL Server Management Studio 21,NuGet 還原會失敗 - #14349
移除 NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSING - #14257
移除 RestoreTargetGraph.Name,因為它是多餘的,restoreTargetGraph.TargetGraphName 是廣泛使用的版本 - #14529
移除 RestoreArgs.LockFileVersion,因為它的功能未使用- #14524
移除 NUGET_BULK_RESTORE_COORDINATION 和 NUGET_SOLUTION_CACHE_INITIALIZATION 後備方案 - #14502
相依性解析程式
Other
停止合併套件 - #13079
讓 NuGet.Client 的 Build.ps1 對 VSCode 中的 GitHub Copilot 更友好 - #14453
在重複組建時產生相同的 [Content_Types].xml - #14357
pack 舊版 csproj:在 VS 組建工具中包含套件目標和工作 - #14520
當解決方案中唯一的專案是 project.json 專案時,VS 會當機 - #14553
檢閱例外狀況處理 - #14440
透過避免冗餘字典查詢來改善效能 - #14432
LockFileLibrary 不需要是可變的 - #14385
社群貢獻
感謝所有貢獻者的協助,使這次的 NuGet 版本變得如此精彩!
-
SimonCropp
- 6720 移除冗餘的預設建構函式
- 6610 在 GetNupkgInfo 中的訊息中新增「沒有最小版本」
- 6581 刪除 MarkTransitiveOrigin 中的冗餘字典查找
- 6596 在 PackageItemViewModelTests 中啟用 null 性
- 6634 移除 IFrameworkTargetable
- 6616 避免在 PluginFindPackageByIdResource 中進行冗餘版本剖析
- 6595 在 ReadmePreviewViewModelTests 中啟用可空性
- 6587 刪除 ProcessUnrankedEntries 中的冗餘字典查找
- 6598 在 EmbeddedResourcesCapabilityTests 中啟用可空性
- 6577 使用欄位而不是私人屬性
- 6622 刪除 GetPackagesToBeReinstalled 中未使用的列表
- 6589 多餘的 Null 檢查於 projectManagerService.GetMetadataAsync 的傳回值
- 6605 在 VSRestoreSettingsUtilityTests 中啟用空值
- 6575 移除 CredentialServiceAdapter.GetCredentials 中的冗餘字典查閱
- 6601 在 NuGetInstallCommandTest 中啟用 nullabe
- 6593 在 IProjectContextInfoExtensionsTests 中啟用可為 null
- 6614 移除 DependencyGraphFileRequestProvider 中的冗餘清單
- 6625 刪除 PackageExtractor 中未使用的變量
- 6609 修正 UnresolvedMessages 中的 Null 性
- 6608 刪除未使用的 contextForGather
- 6628 移除 CredentialsItem 中的冗餘列舉
- 6617 移除 MSBuildRestoreUtility 中的 toolItems 清單實例
- 6599 修正Constructor_SetReportAbuseUrl_Initialize中的參數可空性...
- 6604 在 LegacyPackageReferenceProjectTests 中啟用可為空值
- 6631 刪除 DependencyGraphSpecRequestProvider.CollectReferences
- 6635 刪除 EnvDteProjectExtensions.PathComparer
- 6623 移除 ManifestSchemaUtility 中多餘的 GetManifestResourceNames
- 6619 刪除未使用的 packageID 變數
- 6620 移除 PackageManagerControl 中未使用的變數
- 6640 移除冗餘異常處理
- 6637 刪除 PackageManagerControl.AddMigratorBar
- 6629 刪除 ResolverMetadataClient 中未使用的 HashSet 實例
- 6602 在 MSBuildUtilityTest 中啟用可為 Null 特性
- 6641 移除 UpdateCommand.ExecuteCommandAsync 中的冗餘 Null 條件
- 6683 移除 GetTempFilePath 中的冗餘字串分配
- 6626 刪除 SignedPackageArchiveIOUtility 中未使用的變量
- 6574 移除 CreatePackageSourceMappingDictionary 中的冗餘字典查閱
- 6594 在 InfiniteScrollListTests 中啟用可空性
- 6682 在 SafeReadAsync 中使用非同步延遲
- 6600 在 NuGetUpdateCommandTests 中啟用可空性
- 6606 在 VSNominationUtilitiesTests 中啟用 nullable
- 6613 刪除 GetExternalProject 中的冗餘類型變量
- 6611 移除未使用的 solutionService 實例
- 6643 移除 MsBuildUtility.GetMsBuildPathInPathVar
- 6632 刪除 PackageSpecFactory.GetTargetFrameworkStrings
- 6573 避免在 ProjectFactory.ProcessDependencies 中進行某些分配
- 6588 從 GetPreviewResultsAsync 移除字典查詢
- 6597 修正 PackageModelCreationTestHelper 中的 Null 性
- 6612 移除 NuGetPackageManager 中未使用的清單實例
- 6591 在 PackageSourceValidatorTests 中啟用可為 null 的
- 6603 修正 IVsProjectBuildProperties 中的空值可列性問題
- 6636 從 PackageReferenceProject 中刪除 _project* 欄位
- 6630 移除 LocalV3FindPackageByIdResource 中未使用的身分識別執行個體
- 6618 移除 NuGetPackageManager 中的 LoggerAdapter 實例
- 6621 移除 SolutionUpToDateChecker 中未使用的 projectsByUniqueName
- 6624 刪除 PackageBuilder 中未使用的變量
- 6633 移除 JsonPackageSpecReader 的 DelimitedStringSeparators 和 VersionSeparators
- 6642 在 CommandLineParser.AssignValue 中使用 cast 而不是 as 和 null 檢查
- 6615 刪除 GetPluginAsync 中的冗餘列表
- 6627 刪除 MisplacedAssemblyOutsideLibRule 中未使用的 GetDirectoryName
- 6578 刪除 PrunePackageTree.PruneDowngrades 中的冗餘字典查找
- 6576 刪除 RecommenderPackageFeed 中的冗餘字典查找
- 男爵費爾·
- 奧馬吉德
-
AlexDelepine
- 6793 更新 Ngen 在 VS 的優先順序
- hickford
- 6475 持續填寫稽核來源
-
諾赫恩德
- 6735 停用公用程式 powershell.exe 呼叫中的載入設定檔
-
mmitche
- 6539 將 NuGet 移至 xliff-tasks
-
德庫雷帕
- 6644 新增 Version.Details.props
-
bdukes
-
6530 修正
nuget.exe從 SSMS 而非 Visual Studio 恢復尋找 MSBuild 的功能
-
6530 修正
-
ToddGrun
- 6519 基於性能和健全性原因,使 LockFileLibrary 不可變