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 | |
| 7.0.2 | Visual Studio 2026 版本 18.1.1 | 10.0.1021 |
| 7.0.3 | 不適用 | 10.0.1061 |
1 與任何 .NET 工作負載一起安裝的 Visual Studio 2026
摘要:7.0.3 新增內容
- 安全警示 |NuGet 用戶端防禦深度更新 - 14857
摘要:7.0.2 新增內容
- Visual Studio 的漏洞資訊欄現在有「如何用 GitHub Copilot 修正」連結到 NuGet 的 MCP 伺服器文件 - #14680
此版本中已修正的問題
- Dotnet Nuget 為什麼要在新行寫入目標套件,而不是在套件圖中寫入 - #14664
摘要: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
Package Manager UI 中的 NuGet AuditSources 支援 - #13954
將 NuGet 的設定遷移到新的 Visual Studio 選項視窗
dotnet 更新套件 --vulnerable (稽核修正) - #13372
重大突破性變更
在還原期間新增套件識別碼驗證 - #14407
Project.json 在 7.0 版本中已不再支援。 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)
啟用 CanShowDialog,.NET Core 認證外掛 - #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 中的 Package Manager 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 Package Manager->Package Source Mapping」頁面中,標題為「Package Source Mapping」的表格未被本地化 - #14550
[除錯集會]在「選項->NuGet Package Manager->Package Sources」視窗中,先前從「全機套件來源」清單中停用離線套件來源後,無法啟用此來源-#13434
[錯誤檢測活動]「新增套件來源對應」對話方塊的「來源」欄沒有設定最小寬度,因此可以將其拖曳到視線之外 - #13355
[蟲子攻擊]第一次重新開啟選項對話框時,應該會在「套件來源」列表中重新顯示預設的套件來源「Microsoft Visual Studio 離線套件」,而之前所有來源都已被刪除——#13278
[錯誤清除] 新增的套件來源映射在「Option->NuGet Package Manager->Package Source Mapping」視窗中不應區分大小寫 - #13210
[Bug Bash 測試] 新增的套件來源映射在從「Option->NuGet Package Manager」視窗中的其他分頁切回「套件來源映射」標籤後,會遺失 #13150
[Bug Bash] 當在「套件來源對應」清單中未選取套件來源對應時,「移除」按鈕應該被停用 - #13115
[CSY]重複的快捷鍵會顯示在「Options->NuGet Package Manager->Package Sources」對話框中 - #7822
VS NuGet PMUI - 全機器套件來源區域也應該可垂直調整大小 - #7560
[蟲子攻擊]當修改來源名稱「Microsoft Visual Studio Offline Packages」時,會出現重複的套件來源 - #13057
[蟲子攻擊]「Options->NuGet Package Manager->Package Sources」頁面在勾選或取消任何一個有重複來源的套件來源的「啟用」勾選框後會被停用 - #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 修正成從 SSMS 而不是 Visual Studio 來尋找 MSBuild
-
ToddGrun
- 6519 基於性能和健全性原因,使 LockFileLibrary 不可變