Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NETSDKE2E][Workload set]With 9.0.200 SDK zip installed, "Workload update failed: Workload version 9.0.101, which was specified in ..., was not found." happens after running "Dotnet workload update --version 9.0.101" #46312

Open
vdanche opened this issue Jan 27, 2025 · 2 comments
Assignees

Comments

@vdanche
Copy link
Member

vdanche commented Jan 27, 2025

Build: 9.0.200 zip install on win11-x64

1.Dowload dotnet-sdk-9.0.200-win-x64.zip on win-x64
2.extract it and add the path to environment variable.
3.In CLI, dotnet workload install maui
4. After maui installation is done, run "Dotnet workload update --version 9.0.101"

Expected Result:
Step4: Update to a workload sets from a different band should succeed.

Actual Result:
failed with below error:

Image

not happens with exe install.

Image

dotnet --info:
.NET SDK:
Version: 9.0.200
Commit: 31b44522e1
Workload version: 9.0.200-manifests.c4f6226a
MSBuild version: 17.13.8+cbc39bea8

Runtime Environment:
OS Name: Windows
OS Version: 10.0.26100
OS Platform: Windows
RID: win-x64
Base Path: D:\dotnet-sdk-9.0.200-win-x64\sdk\9.0.200\

.NET workloads installed:
[maui]
Installation Source: SDK 9.0.200
Manifest Version: 9.0.14/9.0.100
Manifest Path: D:\dotnet-sdk-9.0.200-win-x64\sdk-manifests\9.0.100\microsoft.net.sdk.maui\9.0.14\WorkloadManifest.json
Install Type: FileBased

Configured to use workload sets when installing new manifests.
Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version.

Host:
Version: 9.0.2
Architecture: x64
Commit: 80aa709f5d

.NET SDKs installed:
9.0.200 [D:\dotnet-sdk-9.0.200-win-x64\sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 9.0.2 [D:\dotnet-sdk-9.0.200-win-x64\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 9.0.2 [D:\dotnet-sdk-9.0.200-win-x64\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 9.0.2 [D:\dotnet-sdk-9.0.200-win-x64\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
None

Environment variables:
Not set

global.json file:
Not found

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download

@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Workloads untriaged Request triage from a team member labels Jan 27, 2025
@vdanche vdanche changed the title [NETSDKE2E][Workload set]With 9.0.200 SDK zip installed, "Workload update failed: Workload version 9.0.101, which was specified in ..., was not found." after running "Dotnet workload update --version 9.0.101" [NETSDKE2E][Workload set]With 9.0.200 SDK zip installed, "Workload update failed: Workload version 9.0.101, which was specified in ..., was not found." happens after running "Dotnet workload update --version 9.0.101" Jan 27, 2025
@v-ainigao
Copy link

This issue also repro's on arm64OS.
Image

@Forgind
Copy link
Member

Forgind commented Jan 28, 2025

You can skip step 3 to make this a bit faster to repro. Made a PR to fix this. Thanks for the report!

@Forgind Forgind removed the untriaged Request triage from a team member label Jan 28, 2025
Forgind added a commit that referenced this issue Jan 29, 2025
Fixes #46312

https://github.com/dotnet/sdk/pull/46351When we installed a workload set, we'd use the current SDK's feature band as part of the path, but if it was a workload set for a different feature band (as, for instance, installed via dotnet workload update --version x), then it would assume that workload set was in the feature band folder for the current feature band. Since the resolver is fairly precise with its expectations, it rejects this workload set.

In my dogfood folder, the correct location is:
C:\GitHub\sdkRelease\artifacts\bin\redist\Debug\dotnet\sdk-manifests\9.0.100\workloadsets\9.0.101

But using a 9.0.2xx SDK, it would install to:
C:\GitHub\sdkRelease\artifacts\bin\redist\Debug\dotnet\sdk-manifests\9.0.200\workloadsets\9.0.101

This switches to using the feature band from the workload set itself, resolving the issue.

Note that this was a FileBasedInstaller-specific problem. I verified that MSI-based installs were not affected, which incidentally means this better aligns to their behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants