.Net Core SDK 3.0预览时出现错误Visual Studio Code和Omnisharp Extension

Mar*_*dam 8 c# visual-studio-code asp.net-core asp.net-core-3.0 .net-core-3.0

如何在Visual Studio Code中修复.Net Core 3.0项目中的错误?

我已经从创建的新项目中使用dotnet new命令在文件夹中下载了.NET Core 3.0 SDK。

使用Visual Studio Code打开项目会出现以下错误:

[失败]:OmniSharp.MSBuild.ProjectLoader当前的.NET SDK不支持定位.NET Core 3.0。目标.NET Core 2.2或更低版本,或使用支持.NET Core 3.0的.NET SDK版本。[警告]:OmniSharp.MSBuild.ProjectManager无法加载项目文件'c:\ Users \ Marco \ source \ Workspaces \ WebDevelopment \ Samples \ hello-world \ hello-world.csproj。c:\ Users \ Marco \ source \ Workspaces \ WebDevelopment \ Samples \ hello-world \ hello-world.csproj C:\ Program Files \ dotnet \ sdk \ 2.2.102 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft NET.TargetFrameworkInference.targets(137,5):错误:当前的.NET SDK不支持目标.NET Core 3.0。目标.NET Core 2.2或更低版本,或使用支持.NET Core 3.0的.NET SDK版本。

[失败]:OmniSharp.MSBuild.ProjectManager尝试更新未加载的项目:c:\ Users \ Marco \ source \ Workspaces \ WebDevelopment \ Samples \ hello-world \ hello-world.csproj

JPB*_*anc 7

Not a solution, but a workaround for me :

I have OmniSharp working on Visual code with .NET CORE 3.0.100-preview3-010431 the trouble seems to come from the version of MSBuild used by OmniSharp.MSBuild.Discovery.MSBuildLocator.

In Visual Code, Look at your OmniSharp Log :

在此处输入图片说明

Not sure that you'll like the solution, but in the OmniShart Log, I read that it was using Visual Studio 2017 MSBuild, and as I met a problem with .net Core Preview 3 project in VS 2017, so I installed Visual Studio Community 2019 RC. My code .NET CORE 3.0 works on VS 2019, but I steel have troubles with OmniSharp in Visual Code. To have it work in visual code I just rename C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MsBuild to C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild.disabled, and all is OK on Visual Code with .NET Core.

    Located 3 MSBuild instance(s)
        1: Visual Studio Enterprise 2017 15.9.28307.344 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin"
        2: Visual Studio Community 2019 16.0.28714.193 - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin"
        3: StandAlone 15.0 - "c:\Users\JPB\.vscode\extensions\ms-vscode.csharp-1.17.1\.omnisharp\1.32.8\msbuild\15.0\Bin"
    Registered MSBuild instance: Visual Studio Enterprise 2017 15.9.28307.344 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin"
Run Code Online (Sandbox Code Playgroud)

Becomes :

[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Visual Studio Community 2019 16.0.28714.193 - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin"
            2: StandAlone 15.0 - "c:\Users\JPB\.vscode\extensions\ms-vscode.csharp-1.17.1\.omnisharp\1.32.8\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Visual Studio Community 2019 16.0.28714.193 - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin"
Run Code Online (Sandbox Code Playgroud)

Conclusion : Omnisharp seems to need a MSBuild that support .net Core 3.0. I can't find it anywhere else than in VS 2019.