VSCode (or anothers editors) don't recognize sdk dotnet installed with asdf
I have the dotnet installed in my machine with asdf, and even the asdf use the dotnet-install.sh
(this is in code of install of dotnet), the DOTNET_ROOT
work with the . ~/.asdf/plugins/dotnet-core/set-dotnet-home.zsh
set (tested with echo in terminal), and the dotnet work and find the sdk (dotnet --info):
.NET SDK (reflecting any global.json):
Version: 5.0.300
Commit: 2e0c8c940e
Runtime Environment:
OS Name: arch
OS Version:
OS Platform: Linux
RID: arch-x64
Base Path: /home/caneladeouro/.asdf/installs/dotnet-core/5.0.300/sdk/5.0.300/
Host (useful for support):
Version: 5.0.6
Commit: 478b2f8c0e
.NET SDKs installed:
5.0.300 [/home/caneladeouro/.asdf/installs/dotnet-core/5.0.300/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 5.0.6 [/home/caneladeouro/.asdf/installs/dotnet-core/5.0.300/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 5.0.6 [/home/caneladeouro/.asdf/installs/dotnet-core/5.0.300/shared/Microsoft.NETCore.App]
The Visual Studio Code don't recognized the Sdk of dotnet in folder saying that don't have any .NET Sdk:
It was not possible to find any installed .NET SDKs.
Install a .NET SDK from:
https://aka.ms/dotnet-download
The C# VSCode Extension try to find the default dotnet instalation path and don't find, in this case you need to point manually the path to sdk with some environment variables in .NET Documentation. You must define all these variables below in terminal script initialization (such bashrc, zshrc) and show the path to asdf .NET Sdk installation , but can be used to another location, just change the path:
export DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR=$(echo $HOME/.asdf/installs/dotnet-core/5.0.300/sdk/*/Sdks)
export DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER=5.0.300
export DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR=$(echo $HOME/.asdf/installs/dotnet-core/5.0.300)
And yes the Sdk folder is inside the Sdk folder, I confuse too (This take more time to resolve).