dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.7k stars 1.06k forks source link

BlazorAOT workload installation not working #19798

Closed ar0311 closed 11 months ago

ar0311 commented 3 years ago

Installed 6.0-preview6 via install-dotnet-preview.sh

ubuntu:~$ sudo dotnet workload install microsoft-net-sdk-blazorwebassembly-aot Workload with id microsoft-net-sdk-blazorwebassembly-aot is not recognized. install Install a workload.

Usage: dotnet [options] workload install [...]

Arguments:

The NuGet Package Id of the workload to install.
mkArtakMSFT commented 3 years ago

@lewing FYI

ghost commented 3 years ago

Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.

Issue Details
Installed 6.0-preview6 via install-dotnet-preview.sh ubuntu:~$ sudo dotnet workload install microsoft-net-sdk-blazorwebassembly-aot Workload with id microsoft-net-sdk-blazorwebassembly-aot is not recognized. install Install a workload. Usage: dotnet [options] workload install [...] Arguments: The NuGet Package Id of the workload to install.
Author: ar0311
Assignees: -
Labels: `arch-wasm`, `area-Setup`, `untriaged`
Milestone: -
radical commented 3 years ago

@ar0311 What's the exact version that you installed? Also, can you share the output of dotnet --info?

lewing commented 3 years ago

which nuget feeds do you have configured? this is likely a variation of https://github.com/dotnet/sdk/issues/18972

ar0311 commented 3 years ago

AFAIK there is no custom NuGet.config

The DEB version installed is from install-dotnet-preview.sh script

@ubuntu:~/Repos/blazorwasm60$ dotnet --info .NET SDK (reflecting any global.json): Version: 6.0.100-preview.6.21355.2 Commit: 7f8e0d76c0

Runtime Environment: OS Name: ubuntu OS Version: 21.04 OS Platform: Linux RID: ubuntu.21.04-x64 Base Path: /usr/share/dotnet/sdk/6.0.100-preview.6.21355.2/

Host (useful for support): Version: 6.0.0-preview.6.21352.12 Commit: 770d630b28

.NET SDKs installed: 3.1.411 [/usr/share/dotnet/sdk] 5.0.302 [/usr/share/dotnet/sdk] 6.0.100-preview.6.21355.2 [/usr/share/dotnet/sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 3.1.17 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 5.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 6.0.0-preview.6.21355.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.17 [/usr/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 5.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 6.0.0-preview.6.21352.12 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs: https://aka.ms/dotnet-download

ar0311 commented 3 years ago

~/Repos/blazorwasm60$ dotnet nuget list source Registered Sources:

  1. nuget.org [Enabled] https://api.nuget.org/v3/index.json
ar0311 commented 3 years ago

UPDATE: same error using preview7 SDK and the new "wasm-tools" workload ID.

joeloff commented 3 years ago

@ar0311 Can you confirm that you have workload manifest files present in your SDK? Those define the workload IDs that the install command would recognize. They should be under a folder named sdk-manifests in your dotnet installation

ar0311 commented 3 years ago

adam@ubuntu:/usr/share/dotnet$ ls default.profraw host metadata sdk templates dotnet LICENSE.txt packs shared ThirdPartyNotices.txt

that's all thats in the dotnet directory

joeloff commented 3 years ago

Thanks @ar0311 The manifest files is the primary driver behind workload commands as it defines both the packs used to compose a workload, but also the dependencies between different workloads. I've got an Ubuntu setup with 20.04 and see if I can repro this.

joeloff commented 3 years ago

@ar0311 follow up question. How did you install? tar ball, .deb, install scripts?

joeloff commented 3 years ago

So that tar.gz definitely has the manifest files

image

I ran sudo ./dotnet-install.sh --install-dir /usr/share/dotnet/sdk/ --os linux --version 6.0.100-preview.6.21355.2

and end up with this

image

ar0311 commented 3 years ago

I used install-dotnet-preview.sh to install preview 7.

So it was installed via .deb

joeloff commented 3 years ago

That's not one of our official scripts is it? I only know about install-dotnet.sh.

ar0311 commented 3 years ago

https://github.com/dotnet/core/blob/main/release-notes/6.0/install-linux.md

Script from here

joeloff commented 3 years ago

Thanks, I checked the .deb file from preview7 and it too is missing the manifest files. The only work-around would be to pull them from the tar.gz and copy them in or switch to using the tar ball for the installation until we can fix this.

ivanjx commented 3 years ago

this works fine inside docker container from image mcr.microsoft.com/dotnet/sdk:6.0.100-preview.7-focal-amd64 with python3 installed

ar0311 commented 3 years ago

this works fine inside docker container from image mcr.microsoft.com/dotnet/sdk:6.0.100-preview.7-focal-amd64 with python3 installed

That's probably because it's installed using the binary archive in the container, not the deb?

ar0311 commented 3 years ago

Thanks, I checked the .deb file from preview7 and it too is missing the manifest files. The only work-around would be to pull them from the tar.gz and copy them in or switch to using the tar ball for the installation until we can fix this.

Can confirm copying the sdk-manifests folder from tar.gz to dotnet folder created by preview deb work around allowed me to sucessfully install wasm-tools workload and use it.

joeloff commented 3 years ago

Awesome, we're working on getting the .deb fixed

marcpopMSFT commented 11 months ago

Old workload install bug. Should be working now.