Skip to content

Policy change for the NuGet CLI version included in the sdk images #704

Description

@MichaelSimons

Policy change for the NuGet CLI version included in the sdk images

We are announcing a policy change for which NuGet CLI (i.e. NuGet.exe) version is included in the sdk images. The plan is to align the NuGet CLI version with the version of NuGet bundled within MSBuild and the .NET CLI included in the sdk images.

If you are using the NuGet CLI you may be impacted by this change. If you are using NuGet via MSBuild or the .NET CLI you will not be affected by this change.

Details

Current Policy

The NuGet CLI version varies for each version of Windows. The included NuGet CLI version is the most recent version at the time of the intial Windows release. The NuGet CLI does get patch updates as they are released.

We originally chose this policy because we thought it was the lowest risk of introducing breaking changes. The current policy however causes compatibility issues. In order to maintain compatibility between the NuGet CLI, MSBuild and the .NET CLI, the versions need to be the same. Examples of these compatibility issues include:

Windows Version NuGet CLI Version
windowsservercore-20H2 5.7.0
windowsservercore-2004 5.5.1
windowsservercore-1909 5.3.1
windowsservercore-ltsc2019 4.9.4
windowsservercore-ltsc2016 4.9.4

New Policy

Align the NuGet CLI version with with the version of NuGet bundled within MSBuild and the .NET CLI. The version of NuGet included in MSBuild and the .NET CLI is upgraded overtime as VS is serviced. Therefore the NuGet CLI version will also get upgraded over time.

Windows Version NuGet CLI Version
windowsservercore-20H2 5.8.0
windowsservercore-2004 5.8.0
windowsservercore-1909 5.8.0
windowsservercore-ltsc2019 5.8.0
windowsservercore-ltsc2016 5.8.0

Migration Plan

In an effort to limit the impact to users, we will upgrade the NuGet CLI in a phased approach.

  1. January 2021 - Add the latest NuGet version to all sdk images. After this, each sdk image will contain two versions. The PATH variable will continue to reference the old version. This will allow users who need the new version to easily make use of it.
  2. February 2021 - Remove the old NuGet version from the sdk images and update the PATH variable to reference the new version. At this point there will only be one version of NuGet within the sdk images. Users who need a different version will have to add the version they depend.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions