在VSCode OmniSharp扩展中找不到指定的SDK'Microsoft.NET.Sdk.Web'

Ars*_*996 5 omnisharp visual-studio-code asp.net-core

我已经在VSCode上安装了dotnet core 3 sdk和OmniSharp 1.18扩展,但是OmniSharp出现错误:Microsoft.Build.Exceptions.InvalidProjectFileException:找不到指定的SDK'Microsoft.NET.Sdk.Web'。

小智 31

尝试以下解决方法:

将具有以下内容的名为omn​​isharp.json的文件添加到您的项目文件夹中

{
    "MsBuild": {
        "UseLegacySdkResolver": true
    }
}
Run Code Online (Sandbox Code Playgroud)

然后重新启动Visual Studio代码

  • 我有一个梦想,在这个梦想中,每次我打开 VS Code 时 OmniSharp 都能正常工作,而不会因为其更新而感到意外...顺便说一句,“global.json”解决方案对我不起作用,但“omnisharp.json”解决方案对我不起作用做过。 (2认同)

小智 7

如果您使用的是 Linux 或 Mac,请将路径添加到您的.bashrc(或您想要的任何其他位置)中的sdk 文件夹:

export MSBuildSDKsPath=$HOME/soft/dev/dotnet/sdk/3.0.100-preview3-010431/Sdks
Run Code Online (Sandbox Code Playgroud)

使用此命令也可以解决相同的行为: dotnet nuget locals all -c


Nei*_*its 5

Evgy 的答案将特别适用于 .NET Core Preview 3,但如果您希望该修复程序适用于已发布的 .NET Core 3.0 或更高版本,那么您可以将以下行添加到您的 .bashrc 文件中(假设您是在 Linux 上):

export MSBuildSDKsPath="/usr/share/dotnet/sdk/$(dotnet --version)/Sdks"
Run Code Online (Sandbox Code Playgroud)


Mah*_*abi 5

我有这个问题,上面的答案都不适合我,我不知道为什么会发生这种情况,但我找到了一个小技巧来解决这个问题。

打开终端并转到项目目录并执行此命令

code .
Run Code Online (Sandbox Code Playgroud)

是的!从终端打开 vscode 为我解决了这个问题