使用.Net Core SDK 3.0预览错误Visual Studio代码和Omnisharp扩展

问题描述 投票:6回答:2

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

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

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

[fail]:OmniSharp.MSBuild.ProjectLoader当前的.NET SDK不支持以.NET Core 3.0为目标。可以是.NET Core 2.2或更低版本,也可以使用支持.NET Core 3.0的.NET SDK版本。 [warn]: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版本。

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

c# asp.net-core visual-studio-code asp.net-core-3.0 .net-core-3.0
2个回答
4
投票

不是解决方案,而是我的解决方法:

我有OmniSharp使用.NET CORE 3.0.100-preview3-010431处理可视代码,问题似乎来自OmniSharp.MSBuild.Discovery.MSBuildLocator使用的MSBuild版本。

在Visual Code中,查看OmniSharp日志:

enter image description here

不确定你会不会喜欢这个解决方案,但是在OmniShart日志中,我读到它使用的是Visual Studio 2017 MSBuild,并且因为我在VS 2017中遇到了.net Core Preview 3项目的问题,所以我安装了Visual Studio社区2019年RC。我的代码.NET CORE 3.0适用于VS 2019,但我在Visual Code中使用OmniSharp时遇到了麻烦。为了让它在可视代码中工作,我只需将C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MsBuild重命名为C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild.disabled,并且在使用.NET Core的Visual Code上一切正常。

    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"

成为:

[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"

结论:Omnisharp似乎需要一个支持.net Core 3.0的MSBuild。除了VS 2019之外,我无法在其他任何地方找到它。

© www.soinside.com 2019 - 2024. All rights reserved.