To install the maui workload, you have two options:
dotnet workload installcommands- Visual Studio on Windows can install
.msifiles for each workload pack. Note that the concept of a "Visual Studio workload" is different than a ".NET workload".
VS for Mac's installer and updater use dotnet workload install commands. It's considerably simpler to get a Mac machine to a clean state.
Since, .pkg files don't really have a way to "uninstall" the simplest way to get your machine in a clean state is to simply delete folders:
rm -r ~/.dotnet/
sudo rm -r /usr/local/share/dotnet/After doing this, install the .NET SDK of your choice and run dotnet workload install maui for a clean install.
This is where things get... complicated.
The .NET SDK has two types of installers:
Microsoft .NET SDK 6.0.300 from Visual StudioMicrosoft .NET SDK 6.0.300- standalone
Things also can get "weird" if you command-line dotnet workload install on top of packages installed by Visual Studio.
Here are steps to get to a clean state:
- If you ever used
dotnet workload install, rundotnet workload uninstall maui. - Uninstall any standalone .NET SDK installers from
Control Panel. These are the ones that do not say "from Visual Studio". - In every instance of Visual Studio, uninstall all Mobile/MAUI and .NET/Desktop "Visual Studio" workloads.
Next, let's check if there are additional .msi's hanging around:
reg query HKLM\SOFTWARE\Microsoft\Windows\currentversion\uninstall\ -s -f manifestIf you get results after uninstalling, like:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\currentversion\uninstall\{EEC1BB5F-3391-43C2-810E-42D78ADF3140}
InstallSource REG_SZ C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.MacCatalyst.Manifest-6.0.300,version=125.179.40883,chip=x64,productarch=neutral\
DisplayName REG_SZ Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.300
Then you can grab the GUID and uninstall this package via:
msiexec /x {EEC1BB5F-3391-43C2-810E-42D78ADF3140} /q IGNOREDEPENDENCIES=ALL
After the reg query command returns no results, and all .NET 6+ SDKs are uninstalled, you might consider deleting:
C:\Program Files\dotnet\sdk-manifestsC:\Program Files\dotnet\metadataC:\Program Files\dotnet\packsC:\Program Files\dotnet\library-packsC:\Program Files\dotnet\template-packsC:\Program Files\dotnet\sdk\6.*or 7, etc.C:\Program Files\dotnet\host\fxr\6.*or 7, etc.