NuGet 6.1 Release Notes

NuGet distribution vehicles:

NuGet version Available in Visual Studio version Available in .NET SDK(s)
6.1.0 Visual Studio 2022 version 17.1 6.0.2001

1 Installed with Visual Studio 2022 with.NET Core workload

Summary: What's New in 6.1

  • Show subcommand help instead of main dotnet nuget trust command help for all cases - #10788

  • Sort the package vulnerabilities in descending order in PMUI details pane - #11091

Issues fixed in this release


  • Disable nuget.exe pack for project.json by default, add a fallback env var to enable it - #11214

  • [DCR]: Adjust compatibility rules for Apple TFMs in .NET - #11338

  • [DCR][No Customer Impact]: NuGetPackage (VS extension entry point) should not use DTEEvents - #11360

  • [DCR]: Mitigate missing when non-NuGet tool creates nuget.config without any sources - #11387

  • [DCR]: NuGet.VisualStudio and NuGet.VisualStudio.Contracts to follow Visual Studio version numbers - #11394

  • [DCR]: Deprecate VS Extensibility APIs that use System.Version - #11412

  • [DCR]: Obsolete VS extensibility APIs that use System.Runtime.Versioning.FrameworkName - #11419

  • Remove Mac Catalyst warning - #11438

  • dotnet nuget push - Missing value for option - #4864


  • Confusing restore output: it did some restore on one of the projects, but at the end it still prints "All packages are already installed and there is nothing to restore" - #4376

  • Restore does not print enough info in the output when fails - #6047

  • Minimal VS install has broken NuGet UI - #8414

  • Visual Studio is unresponsive while using Clear All NuGet cache(s) feature - #9831

  • Versions List in Details Pane is not kept in sync when changing Selected Package - #10557

  • File Conflict dialog does not have access keys - #10691

  • ContentItemCollection uses yield return which is causing over-allocation of Enumerators - #10921

  • UIDelay: nuget.packagemanagement.visualstudio.dll!NuGet.PackageManagement.VisualStudio.VsCoreProjectSystemReferenceReader+<GetProjectReferencesAsync>d__ - managed projects - #11163

  • [Bug]: MSBuild restore is logging exception as warning - #11179

  • [Bug]: String comparison approach used for Source and Namespaces is not consistent - #11182

  • There is no tooltip for the “install” button on the right of a package in "Browse" tab - #11189

  • Async Service Provider should be invoked on threadpool threads via the built in TService,TInterface extensions instead of custom casting - #11200

  • [Bug]: VS crashes when package sources dropdown in PM UI has multiple package sources whose names are equal when compared using Culture Ignore Case - #11241

  • The strings "ms" and "sec" are not localized on Output - Package Manager window. - #11297

  • Sort Package Source dropdown list using locale/culture setttings in PM UI - #11298

  • Update SDPX license list from da7ecca to fafa781 - #11309

  • [Bug]: NuGet.Localization isn't generated - #11328

  • [Bug]: assembly-loading MEF composition in NuGet.Tools VS package's synchronous event handlers can cause responsiveness delays - #11334

  • [Bug]: NuGet SDK resolver should not throw if project path is NULL - #11376

  • [Bug]: PackageSourceMapping inconsistencies should be reported - #11385

  • [Bug]: RegistryKeyUtility.GetValueFromRegistryKey() has unused parameter, leading to incorrect results - #11407

  • Reduce heap allocations in ResolverUtility.FindLibraryByVersionAsync - #11409

  • [Bug]: Package Source Mapping matches found should not be logged for projects - #11413

  • [Bug]: Avoid explicitly casting the result of GetService/GetServiceAsync, use the extension methods instead - #11451

  • [Bug]: Package Source options in VS does not announce package sources or checkbox status - #11482

  • [Bug]: VS package source options clears all checkboxes when adding or removing sources - #11521

List of all issues fixed in this release - 6.1

Known issues

dotnet nuget push -n|--no-symbols or -d|--disable-buffering raises error: File does not exist ... exception. - #11601


Previously in order to use -n|--no-symbols and -d|--disable-buffering options with dotnet nuget push command requires passing of unnecessary random value after it. Removal of this unnecessary value can break your script by throwing exception with error: File does not exist ... even though actual push operation was successful.


Use -n|--no-symbols and -d|--disable-buffering options standalone without any additional value parameter.

Community contributions

Thank you to all the contributors who helped make this NuGet release awesome!

Who PRs Issues
mairaw 4336 Fix broken NuGet logo image - #11390

Feedback welcome

Your feedback is important to us. If there are any problems with this release, check our GitHub Issues and Visual Studio Developer Community for existing issues. For new issues within NuGet, please report a GitHub Issue. For general NuGet experience issues, let us know via the Report a Problem option found in your favorite IDE under Help > Report a Problem.