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

时间:2019-02-26 10:51:49

标签: c# asp.net-core visual-studio-code 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 SDK的版本   支持.NET Core 3.0。 [警告]: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:\程序   文件\ 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 SDK的版本   支持.NET Core 3.0。

     

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

1 个答案:

答案 0 :(得分:4)

不是解决方案,但对我来说是一种解决方法:

我让OmniSharp使用public static Stage primaryStage; @Override public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("sample.fxml")); primaryStage.setScene(new Scene(root, 1280, 800)); ... this.primaryStage = primaryStage; etc. 开发可视代码,问题似乎出在.NET CORE 3.0.100-preview3-010431使用的MSBuild版本上。

在Visual Code中,查看您的OmniSharp日志:

enter image description here

不确定您是否会喜欢该解决方案,但是在OmniShart Log中,我读到它正在使用Visual Studio 2017 MSBuild,并且由于在VS 2017中遇到.net Core Preview 3项目的问题,所以我安装了该解决方案Visual Studio社区2019 RC。我的代码.NET CORE 3.0可在VS 2019上运行,但我在Visual Code中遇到OmniSharp的麻烦。为了使它在可视代码中起作用,我只是将OmniSharp.MSBuild.Discovery.MSBuildLocator重命名为C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MsBuild,在带有.NET Core的Visual Code上一切正常。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild.disabled

成为:

    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"

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