如何在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
答案 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日志:
不确定您是否会喜欢该解决方案,但是在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中,我在其他任何地方都找不到它。