sdk icon indicating copy to clipboard operation
sdk copied to clipboard

Workload ID maui-android is not recognized

Open soma-kurisu opened this issue 1 year ago • 13 comments

Description

analogous to dotnet/maui#3099 we again get "Workload ID maui-android is not recognized." when running:

~$ dotnet workload install maui-android 
Workload ID maui-android is not recognized.

interestingly the MAUI workload is not even listed when doing:

~$ dotnet workload search

Workload ID                 Description                                     
----------------------------------------------------------------------------
aspire                             .NET Aspire SDK (Preview)                       
wasi-experimental       workloads/wasi-experimental/description         
wasm-experimental    workloads/wasm-experimental/description         
wasm-experimental-net7      .NET WebAssembly experimental tooling for net7.0
wasm-tools                  .NET WebAssembly build tools                    
wasm-tools-net6         .NET WebAssembly build tools for net6.0         
wasm-tools-net7         .NET WebAssembly build tools for net7.0         

my setup:

~$ dotnet --version --list-sdks
8.0.101

~$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 23.10"
...

Steps to Reproduce

No response

Link to public reproduction project repository

No response

Version with bug

8.0.6

Is this a regression from previous behavior?

Yes, this used to work in .NET MAUI

Last version that worked well

Unknown/Other

Affected platforms

I was not able test on other platforms

Affected platform versions

No response

Did you find any workaround?

No response

Relevant log output

No response

soma-kurisu avatar Jan 22 '24 13:01 soma-kurisu

dotnet workload install maui

HuaFangYun avatar Jan 22 '24 14:01 HuaFangYun

How did you install the SDK? What's in the dotnet/sdk-manifests folder? Seems like a bad install.

marcpopMSFT avatar Jan 23 '24 20:01 marcpopMSFT

How did you install the SDK? What's in the dotnet/sdk-manifests folder? Seems like a bad install.

First i used snap-store's NET8 SDK package for installation, but the resulting read-only directory where it's binaries are put in prohibits further dotnet workload installations. So i went on fiddling around as documented in #18933 but in the end i wasn't able to get the maui-android workload to run with NET8. So i completely purged all dotnet artifacts particularly to beware of the dreaded package-mixups documented in the official microsoft-learn article and reinstalled it according the official docs for ubuntu 23.10 where i decided to stay on the official canonical package repo (instead of microsofts provided one for easier future upgrades).

Proofing myself everything worked as expected i newed-up a blazor projected utilizing dotnet tool's provided template. For completeness i'd like to mention since this is a new setup i also went on installing the azure CLI, but this time - lacking any other options - choosing the microsoft package repo for ubuntu jammy.

~$ sudo find / -name sdk-manifests
...
/usr/lib/dotnet/sdk-manifests
...

~$ ls -la /usr/lib/dotnet/sdk-manifests/
total 12
drwxr-xr-x 3 root root 4096 Jan 20 13:29 .
drwxr-xr-x 9 root root 4096 Jan 20 13:29 ..
drwxr-xr-x 9 root root 4096 Jan 20 13:29 8.0.100

~$ dotnet --version
8.0.101

~$ dotnet --list-sdks
8.0.101 [/usr/lib/dotnet/sdk]

~$ ls -la /usr/lib/dotnet/sdk-manifests/8.0.100/
total 36
drwxr-xr-x 9 root root 4096 Jan 20 13:29 .
drwxr-xr-x 3 root root 4096 Jan 20 13:29 ..
drwxr-xr-x 3 root root 4096 Jan 20 13:29 microsoft.net.sdk.aspire
drwxr-xr-x 3 root root 4096 Jan 20 13:29 microsoft.net.workload.emscripten.current
drwxr-xr-x 3 root root 4096 Jan 20 13:29 microsoft.net.workload.emscripten.net6
drwxr-xr-x 3 root root 4096 Jan 20 13:29 microsoft.net.workload.emscripten.net7
drwxr-xr-x 3 root root 4096 Jan 20 13:29 microsoft.net.workload.mono.toolchain.current
drwxr-xr-x 3 root root 4096 Jan 20 13:29 microsoft.net.workload.mono.toolchain.net6
drwxr-xr-x 3 root root 4096 Jan 20 13:29 microsoft.net.workload.mono.toolchain.net7

soma-kurisu avatar Jan 24 '24 09:01 soma-kurisu

for further details according the mono.toolchain.current:

~$ ls -la /usr/lib/dotnet/sdk-manifests/8.0.100/microsoft.net.workload.mono.toolchain.current/
total 12
drwxr-xr-x 3 root root 4096 Jan 20 13:29 .
drwxr-xr-x 9 root root 4096 Jan 20 13:29 ..
drwxr-xr-x 3 root root 4096 Jan 20 13:29 8.0.1

~$ ls -la /usr/lib/dotnet/sdk-manifests/8.0.100/microsoft.net.workload.mono.toolchain.current/8.0.1/
total 56
drwxr-xr-x 3 root root  4096 Jan 20 13:29 .
drwxr-xr-x 3 root root  4096 Jan 20 13:29 ..
drwxr-xr-x 2 root root  4096 Jan 20 13:29 localize
-rw-r--r-- 1 root root 15596 Jan  6 17:23 WorkloadManifest.json
-rw-r--r-- 1 root root 16677 Jan  6 17:23 WorkloadManifest.targets
-rw-r--r-- 1 root root   674 Jan  6 17:23 WorkloadManifest.Wasi.targets
-rw-r--r-- 1 root root  3947 Jan  6 17:23 WorkloadTelemetry.targets

~$ cat /usr/lib/dotnet/sdk-manifests/8.0.100/microsoft.net.workload.mono.toolchain.current/8.0.1/WorkloadManifest.json 
{
  "version": "8.0.1",
  "depends-on": {
    "Microsoft.NET.Workload.Emscripten.Current": "8.0.1"
  },
  "workloads": {
    "wasm-tools": {
      "description": ".NET WebAssembly build tools for net8.0",
      "packs": [
        "Microsoft.NET.Runtime.WebAssembly.Sdk",
        "Microsoft.NETCore.App.Runtime.Mono.browser-wasm",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm"
      ],
      "extends": [ "microsoft-net-runtime-mono-tooling", "microsoft-net-sdk-emscripten" ],
      "platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64"]
    },
    "wasm-experimental": {
      "description": ".NET WebAssembly experimental tooling for net8.0",
      "packs": [
        "Microsoft.NET.Runtime.WebAssembly.Templates",
        "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm",
      ],
      "extends": [ "wasm-tools" ],
      "platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ]
    },
    "wasi-experimental": {
      "description": ".NET WASI experimental for net8.0",
      "packs": [
        "Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk",
        "Microsoft.NETCore.App.Runtime.Mono.wasi-wasm",
        "Microsoft.NET.Runtime.WebAssembly.Templates"
      ],
      "extends": [ "microsoft-net-runtime-mono-tooling" ],
      "platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ]
    },
    "mobile-librarybuilder": {
      "description": "Mobile SDK for building a self-contained .NET native library",
      "packs": [
        "Microsoft.NET.Runtime.LibraryBuilder.Sdk"
      ],
      "extends": [ "microsoft-net-runtime-android-aot", "microsoft-net-runtime-ios", "microsoft-net-runtime-maccatalyst", "microsoft-net-runtime-tvos" ],
      "platforms": [ "win-x64", "win-arm64", "osx-x64", "osx-arm64" ]
    },
    "microsoft-net-runtime-android": {
      "abstract": true,
      "description": "Android Mono Runtime",
      "packs": [
        "Microsoft.NETCore.App.Runtime.Mono.android-arm",
        "Microsoft.NETCore.App.Runtime.Mono.android-arm64",
        "Microsoft.NETCore.App.Runtime.Mono.android-x64",
        "Microsoft.NETCore.App.Runtime.Mono.android-x86"
      ],
      "extends": [ "microsoft-net-runtime-mono-tooling" ],
      "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
    },
    "microsoft-net-runtime-android-aot": {
      "abstract": true,
      "description": "Android Mono AOT Workload",
      "packs": [
        "Microsoft.NETCore.App.Runtime.AOT.Cross.android-x86",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.android-x64",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.android-arm",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.android-arm64"
      ],
      "extends": [ "microsoft-net-runtime-android" ],
      "platforms": [ "win-x64", "win-arm64", "linux-x64", "osx-x64", "osx-arm64" ]
    },
    "microsoft-net-runtime-ios": {
      "abstract": true,
      "description": "iOS Mono Runtime and AOT Workload",
      "packs": [
        "Microsoft.NETCore.App.Runtime.AOT.Cross.ios-arm64",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.iossimulator-arm64",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.iossimulator-x64"
      ],
      "extends": [ "runtimes-ios" ],
      "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
    },
    "runtimes-ios": {
      "abstract": true,
      "description": "iOS Mono Runtime Packs",
      "packs": [
        "Microsoft.NETCore.App.Runtime.Mono.ios-arm64",
        "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64",
        "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64"
      ],
      "extends": [ "microsoft-net-runtime-mono-tooling" ],
      "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
    },
    "microsoft-net-runtime-maccatalyst": {
      "abstract": true,
      "description": "MacCatalyst Mono Runtime and AOT Workload",
      "packs": [
        "Microsoft.NETCore.App.Runtime.AOT.Cross.maccatalyst-arm64",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.maccatalyst-x64"
      ],
      "extends": [ "runtimes-maccatalyst" ],
      "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
    },
    "runtimes-maccatalyst": {
      "abstract": true,
      "description": "MacCatalyst Mono Runtime Packs",
      "packs": [
        "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64",
        "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64"
      ],
      "extends": [ "microsoft-net-runtime-mono-tooling" ],
      "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
    },
    "microsoft-net-runtime-macos": {
      "abstract": true,
      "description": "MacOS CoreCLR and Mono Runtime Workload",
      "packs": [
        "Microsoft.NETCore.App.Runtime.Mono.osx-arm64",
        "Microsoft.NETCore.App.Runtime.Mono.osx-x64",
        "Microsoft.NETCore.App.Runtime.osx-arm64",
        "Microsoft.NETCore.App.Runtime.osx-x64"
      ],
      "extends": [ "microsoft-net-runtime-mono-tooling" ],
      "platforms": [ "osx-arm64", "osx-x64" ]
    },
    "microsoft-net-runtime-tvos": {
      "abstract": true,
      "description": "tvOS Mono Runtime and AOT Workload",
      "packs": [
        "Microsoft.NETCore.App.Runtime.AOT.Cross.tvos-arm64",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.tvossimulator-arm64",
        "Microsoft.NETCore.App.Runtime.AOT.Cross.tvossimulator-x64"
      ],
      "extends": [ "runtimes-tvos" ],
      "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
    },
    "runtimes-tvos": {
      "abstract": true,
      "description": "tvOS Mono Runtime Packs",
      "packs": [
        "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64",
        "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64",
        "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64"
      ],
      "extends": [ "microsoft-net-runtime-mono-tooling" ],
      "platforms": [ "win-x64", "win-arm64", "osx-arm64", "osx-x64" ]
    },
    "runtimes-windows": {
      "abstract": true,
      "description": "Windows Runtime Packs",
      "packs": [
        "Microsoft.NETCore.App.Runtime.win-x64",
        "Microsoft.NETCore.App.Runtime.win-x86",
        "Microsoft.NETCore.App.Runtime.win-arm64"
      ]
    },
    "microsoft-net-runtime-mono-tooling": {
      "abstract": true,
      "description": "Shared native build tooling for Mono runtime",
      "packs": [
        "Microsoft.NET.Runtime.MonoAOTCompiler.Task",
        "Microsoft.NET.Runtime.MonoTargets.Sdk"
      ]
    }
  },
  "packs": {
    "Microsoft.NET.Runtime.MonoAOTCompiler.Task": {
      "kind": "Sdk",
      "version": "8.0.1"
    },
    "Microsoft.NET.Runtime.MonoTargets.Sdk": {
      "kind": "Sdk",
      "version": "8.0.1"
    },
    "Microsoft.NET.Runtime.LibraryBuilder.Sdk": {
      "kind": "Sdk",
      "version": "8.0.1"
    },
    "Microsoft.NET.Runtime.WebAssembly.Sdk": {
      "kind": "Sdk",
      "version": "8.0.1"
    },
    "Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk": {
      "kind": "Sdk",
      "version": "8.0.1"
    },
    "Microsoft.NET.Runtime.WebAssembly.Templates": {
      "kind": "template",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.Mono.android-arm": {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.Mono.android-arm64": {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.Mono.android-x64": {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.Mono.android-x86": {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.android-x86": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86",
        "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x86",
        "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x86",
        "linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-x86",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86",
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-x86"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.android-x64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64",
        "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-x64",
        "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-x64",
        "linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-x64",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64",
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-x64"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.android-arm": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm",
        "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm",
        "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm",
        "linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-arm",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm",
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-arm"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.android-arm64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64",
        "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-arm64",
        "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.android-arm64",
        "linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.android-arm64",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64",
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.android-arm64"
      }
    },
    "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-arm64": {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.Mono.maccatalyst-x64": {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.Mono.osx-arm64": {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.Mono.osx-x64": {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.osx-arm64": {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.osx-x64": {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.Mono.ios-arm64" : {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.Mono.iossimulator-arm64" : {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64" : {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.tvos-arm64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvos-arm64",
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.tvos-arm64",
      }
    },
    "Microsoft.NETCore.App.Runtime.Mono.tvos-arm64" : {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-arm64" : {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.Mono.tvossimulator-x64" : {
      "kind": "framework",
      "version": "8.0.1",
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.maccatalyst-arm64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.maccatalyst-arm64",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.maccatalyst-x64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.maccatalyst-x64",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.tvossimulator-arm64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.tvossimulator-arm64",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-arm64"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.tvossimulator-x64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.tvossimulator-x64",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.tvossimulator-x64"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.ios-arm64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64",
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.ios-arm64",
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.iossimulator-arm64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.iossimulator-arm64",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.iossimulator-x64": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.iossimulator-x64",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64"
      }
    },
    "Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm": {
      "kind": "Sdk",
      "version": "8.0.1",
      "alias-to": {
        "win-x64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm",
        "win-arm64": "Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm",
        "linux-x64": "Microsoft.NETCore.App.Runtime.AOT.linux-x64.Cross.browser-wasm",
        "linux-arm64": "Microsoft.NETCore.App.Runtime.AOT.linux-arm64.Cross.browser-wasm",
        "osx-x64": "Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.browser-wasm",
        "osx-arm64": "Microsoft.NETCore.App.Runtime.AOT.osx-arm64.Cross.browser-wasm"
      }
    },
    "Microsoft.NETCore.App.Runtime.Mono.browser-wasm" : {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm" : {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.Mono.wasi-wasm" : {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.win-x64" : {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.win-x86" : {
      "kind": "framework",
      "version": "8.0.1"
    },
    "Microsoft.NETCore.App.Runtime.win-arm64" : {
      "kind": "framework",
      "version": "8.0.1"
    }
  }
}

soma-kurisu avatar Jan 24 '24 09:01 soma-kurisu

further details about my dotnet setup:

~$ ls snap/ | grep dotnet
~$ 

~$ sudo find / -name dotnet
/etc/dotnet
/usr/share/bash-completion/completions/dotnet
/usr/bin/dotnet
/usr/lib/dotnet
/usr/lib/dotnet/dotnet
/usr/lib/dotnet/packs/Microsoft.AspNetCore.App.Ref/8.0.1/analyzers/dotnet
/usr/lib/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.1/analyzers/dotnet
/home/me/.config/Code - Insiders/User/globalStorage/mindaro.mindaro/file-downloader-downloads/dotnet
/home/me/.config/Code - Insiders/User/globalStorage/mindaro.mindaro/file-downloader-downloads/dotnet/dotnet
/home/me/.nuget/packages/system.text.json/7.0.3/analyzers/dotnet
/home/me/.nuget/packages/microsoft.extensions.configuration.binder/8.0.0/analyzers/dotnet
/home/me/.nuget/packages/microsoft.extensions.options/8.0.0/analyzers/dotnet
/home/me/.nuget/packages/microsoft.aspnetcore.components.analyzers/7.0.14/analyzers/dotnet
/home/me/.nuget/packages/microsoft.aspnetcore.components.analyzers/8.0.0/analyzers/dotnet
/home/me/.nuget/packages/microsoft.extensions.logging.abstractions/8.0.0/analyzers/dotnet
/home/me/.nuget/packages/microsoft.extensions.logging.abstractions/7.0.0/analyzers/dotnet
/home/me/.nuget/packages/microsoft.extensions.logging.abstractions/7.0.1/analyzers/dotnet

~$ sudo find / -name .dotnet
/tmp/.dotnet
/home/me/.dotnet
/home/me/.config/Code - Insiders/User/globalStorage/ms-dotnettools.vscode-dotnet-runtime/.dotnet

~$ cat /etc/dotnet/install_location
/usr/lib/dotnet

~$ cat /etc/dotnet/install_location_x64 
/usr/lib/dotnet

~$ ls -la /usr/bin/dotnet 
lrwxrwxrwx 1 root root 20 Jan  6 17:23 /usr/bin/dotnet -> ../lib/dotnet/dotnet

~$ ls -la /lib/dotnet 
total 208
drwxr-xr-x   9 root root  4096 Jan 20 13:29 .
drwxr-xr-x 108 root root  4096 Jan 20 13:48 ..
-rwxr-xr-x   1 root root 70904 Jan  6 17:23 dotnet
drwxr-xr-x   3 root root  4096 Jan 20 13:28 host
-rw-r--r--   1 root root  1116 Jan  6 17:23 LICENSE.txt
drwxr-xr-x   3 root root  4096 Jan 20 13:29 metadata
drwxr-xr-x   8 root root  4096 Jan 20 13:29 packs
drwxr-xr-x   3 root root  4096 Jan 20 13:29 sdk
drwxr-xr-x   3 root root  4096 Jan 20 13:29 sdk-manifests
drwxr-xr-x   4 root root  4096 Jan 20 13:29 shared
drwxr-xr-x   3 root root  4096 Jan 20 13:29 templates
-rw-r--r--   1 root root 94355 Jan  6 17:23 ThirdPartyNotices.txt

~$ ls -la .templateengine/
total 16
drwxrwxr-x  4 me me 4096 Jan  8 18:33 .
drwxr-x--- 35 me me 4096 Jan 21 21:32 ..
drwxrwxr-x  4 me me 4096 Jan 20 19:01 dotnetcli
drwxrwxr-x  2 me me 4096 Jan  8 18:33 packages

~$ ls -la .templateengine/dotnetcli/
total 16
drwxrwxr-x 4 me me 4096 Jan 20 19:01 .
drwxrwxr-x 4 me me 4096 Jan  8 18:33 ..
drwxrwxr-x 2 me me 4096 Jan  8 18:33 8.0.100
drwxrwxr-x 2 me me 4096 Jan 20 19:01 8.0.101

~$ ls -la .templateengine/dotnetcli/8.0.101
total 312
drwxrwxr-x 2 me me   4096 Jan 20 19:01 .
drwxrwxr-x 4 me me   4096 Jan 20 19:01 ..
-rw-rw-r-- 1 me me 309055 Jan 20 19:01 templatecache.json

~$ ls -la .templateengine/packages/
total 8
drwxrwxr-x 2 me me 4096 Jan  8 18:33 .
drwxrwxr-x 4 me me 4096 Jan  8 18:33 ..

~$ ls -la .dotnet/
total 36
drwxrwxr-x  5 me me 4096 Jan 20 19:20 .
drwxr-x--- 35 me me 4096 Jan 21 21:32 ..
-rw-rw-r--  1 me me    0 Jan  5 17:17 8.0.100.aspNetCertificateSentinel
-rw-rw-r--  1 me me    0 Jan  5 17:17 8.0.100.dotnetFirstUseSentinel
-rw-rw-r--  1 me me    5 Jan  5 17:17 8.0.100_IsDockerContainer.dotnetUserLevelCache
-rw-rw-r--  1 me me   64 Jan  5 17:17 8.0.100_MachineId.dotnetUserLevelCache
-rw-rw-r--  1 me me    0 Jan  5 17:14 8.0.100.toolpath.sentinel
-rw-rw-r--  1 me me    0 Jan 20 13:32 8.0.101.aspNetCertificateSentinel
-rw-rw-r--  1 me me    0 Jan 20 13:32 8.0.101.dotnetFirstUseSentinel
-rw-rw-r--  1 me me    0 Jan 20 13:32 8.0.101.toolpath.sentinel
drwxrwxr-x  3 me me 4096 Dec 29 21:30 corefx
-rw-rw-r--  1 me me   64 Jan  5 17:17 MachineId.v1.dotnetUserLevelCache
drwxrwxr-x  3 me me 4096 Jan 20 19:20 sdk-advertising
drwxrwxr-x  2 me me 4096 Jan  8 19:55 TelemetryStorageService
-rw-rw-r--  1 me me    0 Jan 20 19:20 .workloadAdvertisingManifestSentinel8.0.100
-rw-rw-r--  1 me me    2 Jan 22 21:18 .workloadAdvertisingUpdates8.0.100

~$ cat .dotnet/8.0.101.toolpath.sentinel 
~$ cat .dotnet/.workloadAdvertisingUpdates8.0.100 
[]

~$ ls -la .dotnet/sdk-advertising/ .dotnet/8.0.101.toolpath.sentinel 
total 12
drwxrwxr-x 3 me me 4096 Jan 20 19:20 .
drwxrwxr-x 5 me me 4096 Jan 20 19:20 ..
drwxrwxr-x 9 me me 4096 Jan 22 21:18 8.0.100

~$ ls -la .dotnet/sdk-advertising/8.0.100/
total 36
drwxrwxr-x 9 me me 4096 Jan 22 21:18 .
drwxrwxr-x 3 me me 4096 Jan 20 19:20 ..
drwxrwxr-x 2 me me 4096 Jan 22 21:18 microsoft.net.sdk.aspire
drwxrwxr-x 2 me me 4096 Jan 22 21:18 microsoft.net.workload.emscripten.current
drwxrwxr-x 2 me me 4096 Jan 22 21:18 microsoft.net.workload.emscripten.net6
drwxrwxr-x 2 me me 4096 Jan 22 21:18 microsoft.net.workload.emscripten.net7
drwxrwxr-x 3 me me 4096 Jan 22 21:18 microsoft.net.workload.mono.toolchain.current
drwxrwxr-x 3 me me 4096 Jan 22 21:18 microsoft.net.workload.mono.toolchain.net6
drwxrwxr-x 3 me me 4096 Jan 22 21:18 microsoft.net.workload.mono.toolchain.net7

~$ tree /lib/dotnet/ -d -I '??' -I '??-*'
/lib/dotnet/
├── host
│   └── fxr
│       └── 8.0.1
├── metadata
│   └── workloads
│       └── 8.0.100
├── packs
│   ├── Microsoft.AspNetCore.App.Ref
│   │   └── 8.0.1
│   │       ├── analyzers
│   │       │   └── dotnet
│   │       │       └── roslyn4.4
│   │       ├── data
│   │       └── ref
│   │           └── net8.0
│   ├── Microsoft.AspNetCore.App.Runtime.ubuntu.23.10-x64
│   │   └── 8.0.1
│   │       ├── data
│   │       └── runtimes
│   │           └── ubuntu.23.10-x64
│   │               └── lib
│   │                   └── net8.0
│   ├── Microsoft.NETCore.App.Host.ubuntu.23.10-x64
│   │   └── 8.0.1
│   │       └── runtimes
│   │           └── ubuntu.23.10-x64
│   │               └── native
│   ├── Microsoft.NETCore.App.Ref
│   │   └── 8.0.1
│   │       ├── analyzers
│   │       │   └── dotnet
│   │       ├── data
│   │       └── ref
│   │           └── net8.0
│   ├── Microsoft.NETCore.App.Runtime.ubuntu.23.10-x64
│   │   └── 8.0.1
│   │       ├── data
│   │       └── runtimes
│   │           └── ubuntu.23.10-x64
│   │               ├── lib
│   │               │   └── net8.0
│   │               └── native
│   └── NETStandard.Library.Ref
│       └── 2.1.0
│           ├── data
│           └── ref
│               └── netstandard2.1
├── sdk
│   └── 8.0.101
│       ├── AppHostTemplate
│       ├── Containers
│       │   ├── build
│       │   └── tasks
│       │       └── net8.0
│       │           └── runtimes
│       │               └── win
│       │                   └── lib
│       │                       └── net8.0
│       ├── Current
│       │   ├── Microsoft.Common.CrossTargeting.targets
│       │   │   └── ImportAfter
│       │   ├── Microsoft.Common.targets
│       │   │   └── ImportAfter
│       │   └── SolutionFile
│       │       └── ImportAfter
│       ├── DotnetTools
│       │   ├── dotnet-dev-certs
│       │   │   └── 8.0.1-servicing.23580.8
│       │   │       └── tools
│       │   │           └── net8.0
│       │   │               └── any
│       │   ├── dotnet-format
│       │   ├── dotnet-user-jwts
│       │   │   └── 8.0.1-servicing.23580.8
│       │   │       └── tools
│       │   │           └── net8.0
│       │   │               └── any
│       │   │                   └── assets
│       │   ├── dotnet-user-secrets
│       │   │   └── 8.0.1-servicing.23580.8
│       │   │       └── tools
│       │   │           └── net8.0
│       │   │               └── any
│       │   │                   └── assets
│       │   └── dotnet-watch
│       │       └── 8.0.101-servicing.23580.21
│       │           └── tools
│       │               └── net8.0
│       │                   └── any
│       │                       ├── hotreload
│       │                       └── middleware
│       ├── Extensions
│       ├── FSharp
│       │   ├── library-packs
│       │   └── runtimes
│       │       └── win
│       │           └── lib
│       │               └── net8.0
│       ├── Microsoft
│       │   └── Microsoft.NET.Build.Extensions
│       │       ├── net461
│       │       │   └── lib
│       │       ├── net462
│       │       │   └── lib
│       │       ├── net47
│       │       │   └── lib
│       │       ├── net471
│       │       │   └── lib
│       │       └── tools
│       │           └── net8.0
│       ├── ref
│       ├── Roslyn
│       │   └── bincore
│       ├── runtimes
│       │   ├── any
│       │   │   └── native
│       │   └── win
│       │       └── lib
│       │           └── net8.0
│       ├── SdkResolvers
│       │   ├── Microsoft.Build.NuGetSdkResolver
│       │   └── Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver
│       ├── Sdks
│       │   ├── FSharp.NET.Sdk
│       │   │   └── Sdk
│       │   ├── Microsoft.Build.Tasks.Git
│       │   │   ├── build
│       │   │   ├── buildMultiTargeting
│       │   │   └── tools
│       │   │       └── core
│       │   ├── Microsoft.Docker.Sdk
│       │   │   └── Sdk
│       │   ├── Microsoft.NET.Sdk
│       │   │   ├── analyzers
│       │   │   │   └── build
│       │   │   │       └── config
│       │   │   ├── codestyle
│       │   │   ├── Sdk
│       │   │   ├── targets
│       │   │   │   └── GenerateDeps
│       │   │   └── tools
│       │   │       └── net8.0
│       │   ├── Microsoft.NET.Sdk.BlazorWebAssembly
│       │   │   ├── Sdk
│       │   │   ├── targets
│       │   │   └── tools
│       │   │       └── net8.0
│       │   ├── Microsoft.NET.Sdk.Publish
│       │   │   ├── Sdk
│       │   │   ├── targets
│       │   │   │   ├── ComputeTargets
│       │   │   │   ├── CopyTargets
│       │   │   │   ├── DotNetCLIToolTargets
│       │   │   │   ├── PublishProfiles
│       │   │   │   ├── PublishTargets
│       │   │   │   └── TransformTargets
│       │   │   │       └── Transforms
│       │   │   └── tools
│       │   │       └── net8.0
│       │   ├── Microsoft.NET.Sdk.Razor
│       │   │   ├── Sdk
│       │   │   ├── source-generators
│       │   │   ├── targets
│       │   │   │   └── Rules
│       │   │   ├── tasks
│       │   │   │   └── net8.0
│       │   │   └── tools
│       │   ├── Microsoft.NET.Sdk.StaticWebAssets
│       │   │   ├── Sdk
│       │   │   ├── targets
│       │   │   ├── tasks
│       │   │   │   └── net8.0
│       │   │   └── tools
│       │   │       └── net8.0
│       │   ├── Microsoft.NET.Sdk.Web
│       │   │   ├── analyzers
│       │   │   ├── Sdk
│       │   │   ├── Targets
│       │   │   └── tools
│       │   │       └── net8.0
│       │   ├── Microsoft.NET.Sdk.WebAssembly
│       │   │   ├── Sdk
│       │   │   └── tools
│       │   │       └── net8.0
│       │   ├── Microsoft.NET.Sdk.Web.ProjectSystem
│       │   │   ├── Sdk
│       │   │   ├── targets
│       │   │   └── tools
│       │   │       └── net8.0
│       │   ├── Microsoft.NET.Sdk.Worker
│       │   │   ├── Sdk
│       │   │   ├── targets
│       │   │   └── tools
│       │   │       └── net8.0
│       │   ├── Microsoft.SourceLink.AzureRepos.Git
│       │   │   ├── build
│       │   │   ├── buildMultiTargeting
│       │   │   └── tools
│       │   │       └── core
│       │   ├── Microsoft.SourceLink.Bitbucket.Git
│       │   │   ├── build
│       │   │   ├── buildMultiTargeting
│       │   │   └── tools
│       │   │       └── core
│       │   ├── Microsoft.SourceLink.Common
│       │   │   ├── build
│       │   │   ├── buildMultiTargeting
│       │   │   └── tools
│       │   │       └── core
│       │   ├── Microsoft.SourceLink.GitHub
│       │   │   ├── build
│       │   │   ├── buildMultiTargeting
│       │   │   └── tools
│       │   │       └── core
│       │   ├── Microsoft.SourceLink.GitLab
│       │   │   ├── build
│       │   │   ├── buildMultiTargeting
│       │   │   └── tools
│       │   │       └── core
│       │   └── NuGet.Build.Tasks.Pack
│       │       ├── build
│       │       ├── buildCrossTargeting
│       │       └── CoreCLR
│       └── trustedroots
├── sdk-manifests
│   └── 8.0.100
│       ├── microsoft.net.sdk.aspire
│       │   └── 8.0.0-preview.1.23557.2
│       ├── microsoft.net.workload.emscripten.current
│       │   └── 8.0.1
│       ├── microsoft.net.workload.emscripten.net6
│       │   └── 8.0.1
│       ├── microsoft.net.workload.emscripten.net7
│       │   └── 8.0.1
│       ├── microsoft.net.workload.mono.toolchain.current
│       │   └── 8.0.1
│       │       └── localize
│       ├── microsoft.net.workload.mono.toolchain.net6
│       │   └── 8.0.1
│       │       └── localize
│       └── microsoft.net.workload.mono.toolchain.net7
│           └── 8.0.1
│               └── localize
├── shared
│   ├── Microsoft.AspNetCore.App
│   │   └── 8.0.1
│   └── Microsoft.NETCore.App
│       └── 8.0.1
└── templates
    └── 8.0.1

251 directories

soma-kurisu avatar Jan 24 '24 12:01 soma-kurisu

@marcpopMSFT, as you requested I've listed some details about my setup. Have you any ideas what's going on here? I find it very suspicious that a workload search request won't find any maui workloads:

~$ dotnet workload search 'wasm'

Workload ID                 Description                                     
----------------------------------------------------------------------------
wasm-experimental           workloads/wasm-experimental/description         
wasm-experimental-net7      .NET WebAssembly experimental tooling for net7.0
wasm-tools                  .NET WebAssembly build tools                    
wasm-tools-net6             .NET WebAssembly build tools for net6.0         
wasm-tools-net7             .NET WebAssembly build tools for net7.0         

~$ dotnet workload search 'maui'

Workload ID      Description
----------------------------

~$ dotnet workload search 'android'

Workload ID      Description
----------------------------

~$

soma-kurisu avatar Jan 27 '24 16:01 soma-kurisu

The sdk-manifests folder is missing all of the maui manifests which is why the workload is unrecognized and can't be installed.

Including @rbhanda @MichaelSimons @baronfel who might know about the snap install and jammy installs to know if those are incomplete wrt maui.

marcpopMSFT avatar Jan 30 '24 23:01 marcpopMSFT

any way - @marcpopMSFT thank you for taking the time and looking at it. still hoping @rbhanda @MichaelSimons @baronfel have more luck.

soma-kurisu avatar Jan 31 '24 08:01 soma-kurisu

Hey, i have the exact same problem :)

ndr0n avatar Feb 01 '24 20:02 ndr0n

@ndr0n : (a) also on UB 23.10 ? (b) also NET 8 installation via snap, its removal afterwards and re-installation via official canonical package repo ? (c) registration of any other microsoft package repo ?

soma-kurisu avatar Feb 04 '24 20:02 soma-kurisu

I have the same issue with arch linux

Lyra2108 avatar Feb 24 '24 16:02 Lyra2108

I had this same issue on Arch after installing dotnet-sdk 8.0.101 with pacman. I fixed this by downloading dotnet via the install scripts (https://dotnet.microsoft.com/en-us/download/dotnet/scripts) and copying the sdk-manifests from "~/.dotnet/sdk-manifests/8.0.100" to "/usr/share/dotnet/sdk-manifests/8.0.100". Afterwards you are able to install maui-android. Hope this helps anyone that comes across this issue

PartedLine avatar Feb 28 '24 15:02 PartedLine

@PartedLine thx for sharing; But doing it this way puts us back in the pre-packagemanager era where you'll have to fiddle around managing all the sdk and tooling dependencies by your self. I'd say arguable for a not officially supported distro but not the support you might expect from an officially supported distro.

soma-kurisu avatar Feb 29 '24 20:02 soma-kurisu

I have the same problem on ArchLinux. Took a look at arch dotnet-sdk package source code and as far as I can see there is no custom logic there around sdk-manifests. It just grubs the official sdk sources from dotnet/dotnet repo, builds it and copies sdk-manifests folder to usr/share/dotnet. So maybe there is a problem in dotnet sdk itself?

vpkopylov avatar Mar 10 '24 11:03 vpkopylov

is android not supported on dotnet 8.0 arm Ubuntu?

dotnet workload search

Workload ID Description

aspire .NET Aspire SDK (Preview)
macos .NET SDK Workload for building macOS applications. maui-tizen .NET MAUI SDK for Tizen
maui-windows .NET MAUI SDK for Windows
wasi-experimental workloads/wasi-experimental/description
wasm-experimental workloads/wasm-experimental/description
wasm-tools .NET WebAssembly build tools

dotnet workload install android Workload ID android isn't supported on this platform.

amirvenus avatar Apr 04 '24 00:04 amirvenus

I have the same issue with arch linux

I have the same with arch. Can you solve that now?

LawunnKhaing avatar May 07 '24 13:05 LawunnKhaing

The common thread here is that all of these distributions of the .NET SDK are build using source-build. Source-Build SDKs do not have all of the same workloads as MIcrosoft-authored SDKs. You can read more about this in https://github.com/dotnet/source-build/issues/3242. This is something that I think we will need to address soon.

baronfel avatar May 07 '24 13:05 baronfel

In the meantime, if you need MAUI workloads I'd suggest using the dotnet-install scripts to install a 'local install' of the Microsoft SDK and use that.

baronfel avatar May 14 '24 18:05 baronfel

ok... i was having the same issue in my Pop OS distro... so i change the ID on os-release to "ubuntu" it was pop and then run the

image

image

then after i run the dotnet workload install maui-android

and wala! :P, i know, i know... its not eleganto way... but it works for now(i swap it bat to pop, just for avoid issue with the os later):

image

image

mylobits avatar Aug 25 '24 19:08 mylobits