Skip to content

Add dotnet workload --version command, display workload version other "info" commands #33912

@dsplaisted

Description

@dsplaisted

We should add a dotnet workload --version command, which will output the workload version (AKA workload set version). This command will only output the version and nothing else, similar to dotnet --version.

Additionally, the dotnet --info and dotnet workload --info commands should be updated to display the workload version. From the design, this would look like this:

> dotnet --info
.NET SDK:
 Version:                 8.0.201
 Commit:                  <commit>
 Workload version:    8.0.201

<further information>

> dotnet workload --info
 Workload version:  8.0.201
 [wasm-tools]
   Installation Source: SDK 8.0.100-preview.4
   Manifest Version:    8.0.0-preview.4.23181.9/8.0.100-preview.4
   Manifest Path:       C:\git\dotnet-sdk-main\.dotnet\sdk-manifests\8.0.100-preview.4\microsoft.net.workload.mono.toolchain.current\WorkloadManifest.json
   Install Type:        FileBased

Implementation

Currently, the SdkDirectoryWorkloadManifestProvider class is responsible for selecting the workload version to use. Probably it (and possibly IWorkloadManifestProvider) should add a method that returns the workload version.

When no workload set is installed, a workload version should still be displayed. Per the design:

In this case, when a workload set version is needed, the .NET SDK will create a version using the .NET SDK feature band, the pre-release specifier manifests, and a hash of the manifest IDs and versions. For example, 8.0.200-manifests.9e7f4b93.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions