OmniSharp.MSBuild.ProjectManager尝试更新未加载的项目:

Sac*_*ith 3 c# intellisense omnisharp visual-studio-code asp.net-core

我开始使用VS代码开发Asp.net Core Web API。但是,当我键入代码时,Intellisense / Suggestions无法正常工作。在他们键入内容时using Microsoft., 我在Internet上的一些资源中看到过,这是EntityFrameworkCore一个建议。但就我而言,它没有显示。在OmniSharp日志中显示以下错误给我。

Starting OmniSharp server at 4/5/2019, 3:37:16 PM
    Target: c:\Dotnet Core\NgWebApi

OmniSharp server started.
    Path: C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\OmniSharp.exe
    PID: 13684

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 1 MSBuild instance(s)
            1: StandAlone 15.0 - "C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        MSBUILD_EXE_PATH environment variable set to 'C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild\15.0\Bin\MSBuild.exe'
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: StandAlone 15.0 - "C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild\15.0\Bin"
            CscToolExe = csc.exe
            CscToolPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild\15.0\Bin\Roslyn
            MSBuildExtensionsPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild
            MSBuildToolsPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild\15.0\Bin
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in 'c:\Dotnet Core\NgWebApi'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.WorkspaceInitializer
        Project system 'OmniSharp.DotNet.DotNetProjectSystem' is disabled in the configuration.
[info]: OmniSharp.MSBuild.ProjectSystem
        No solution files found in 'c:\Dotnet Core\NgWebApi'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for 'c:\Dotnet Core\NgWebApi\NgWebApi.csproj'
[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'c:\Dotnet Core\NgWebApi'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: c:\Dotnet Core\NgWebApi\NgWebApi.csproj
[info]: OmniSharp.WorkspaceInitializer
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location 'c:\Dotnet Core\NgWebApi' on host 17188.
[warn]: OmniSharp.MSBuild.ProjectManager
        Failed to load project file 'c:\Dotnet Core\NgWebApi\NgWebApi.csproj'.
c:\Dotnet Core\NgWebApi\NgWebApi.csproj(1,1)
Microsoft.Build.Exceptions.InvalidProjectFileException: The SDK 'Microsoft.NET.Sdk.Web' specified could not be found.  c:\Dotnet Core\NgWebApi\NgWebApi.csproj
   at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object[] args)
   at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImportsFromUnescapedImportExpressionConditioned(String directoryOfImportingFile, ProjectImportElement importElement, List`1& projects, Boolean throwOnFileNotExistsError)
   at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImports(String directoryOfImportingFile, ProjectImportElement importElement)
   at Microsoft.Build.Evaluation.Evaluator`4.EvaluateImportElement(String directoryOfImportingFile, ProjectImportElement importElement)
   at Microsoft.Build.Evaluation.Evaluator`4.PerformDepthFirstPass(ProjectRootElement currentProjectOrImport)
   at Microsoft.Build.Evaluation.Evaluator`4.Evaluate(ILoggingService loggingService, BuildEventContext buildEventContext)
   at Microsoft.Build.Evaluation.Project.Reevaluate(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings)
   at Microsoft.Build.Evaluation.Project.ReevaluateIfNecessary(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings)
   at Microsoft.Build.Evaluation.Project.Initialize(IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectLoadSettings loadSettings)
   at Microsoft.Build.Evaluation.Project..ctor(String projectFile, IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings)
   at Microsoft.Build.Evaluation.ProjectCollection.LoadProject(String fileName, IDictionary`2 globalProperties, String toolsVersion)
   at OmniSharp.MSBuild.ProjectLoader.EvaluateProjectFileCore(String filePath)
   at OmniSharp.MSBuild.ProjectLoader.BuildProject(String filePath)
   at OmniSharp.MSBuild.ProjectFile.ProjectFileInfo.Load(String filePath, ProjectLoader loader)
   at OmniSharp.MSBuild.ProjectManager.LoadOrReloadProject(String projectFilePath, Func`1 loader)

[fail]: OmniSharp.MSBuild.ProjectManager
        Attempted to update project that is not loaded: c:\Dotnet Core\NgWebApi\NgWebApi.csproj
Run Code Online (Sandbox Code Playgroud)

我重新安装了VS Code和C#C# Extention以解决此问题,但仍在发生。我认为原因是未显示Intellisense / Suggestions项目未正确加载。谁能告诉我如何避免此错误以及如何解决未显示此问题的Intellisense /建议。

ege*_*ege 47

我通过在 VSCode 上执行以下操作解决了这个问题:

  1. 前往设置。(代码 -> 首选项 -> Mac 上的设置)
  2. 搜索“omnisharp”。
  3. 找到“Omnisharp:使用全局单声道”部分,并将其设置为“始终”。
  4. 找到“Omnisharp:路径”部分,然后单击“在 settings.json 中编辑”。将 "omnisharp.path" 更改为 "omnisharp.path": latest"。
  5. 重新加载窗口。

  • 在它起作用之前,我必须做两件事: 1. 根据上面的答案,将设置更改为 `"omnisharp.path": "latest"` 并将 OmniSharp 下载到我的 VSCode 副本中。然后2.像你建议的那样`使用全局单声道:总是`。这是一个团队的努力。谢谢! (3认同)
  • 我按照@Marquizzo 的描述进行操作,并且加载了 core 3.1 和 core 5。 (2认同)
  • 使用全局单声道设置对我来说不存在。 (2认同)

小智 16

我找到了另一个解决方案,因为其他解决方案都不适合我,而且我正在寻找几个小时。(07/08/2021):

我在 .NET、.NET Core 或 .NET Framework 中遇到了同样的错误,以下是一些错误的屏幕截图:

错误弹出窗口

错误输出

在错误输出中,它表示要安装此框架版本的开发人员包。您可以在 .csproj 文件中找到该版本:

在此输入图像描述

通过在 dotnet microsoft 站点上安装此版本的 .NET Framework:.NET Framework 下载列表, 我在重新加载 VSCode 后修复了错误,并让我的 Intellisense 适用于 Unity。

TLDR:我的修复方法是安装 .NET Framework 版本 4.7.1


小智 9

Solved (cross checked on Ubuntu 16.04 and CentOS 7):

In the VS Code menu, go into File / Preferences / Settings.

In the "Search settings" window, type omnisharp.path

Click on "Edit in settings.json" link.

Add (or edit) like this: "omnisharp.path": "latest"

(来自:https : //github.com/OmniSharp/omnisharp-vscode/issues/2965

  • 我这样做了,但没有解决问题。 (3认同)
  • 这个解决方案对我有用:Win 10,VSCode:1.32.3 和 .Net Core 2.2.301 (2认同)
  • 运行 VS Code 1.40.2 的 Mac OS X 10.15 我的 settings.json 没有此条目。一旦我添加它,omnisharp 就会重新安装,瞧,智能感知又回来了。谢谢@BernieB (2认同)
  • 修复了智能感知,但未修复“OmniSharp.MSBuild.ProjectManager 尝试更新未加载的项目”错误。请参阅下面有关将 Omnisharp 使用全局单声道设置为“始终”的答案。 (2认同)

Sac*_*ith 6

为了解决这个问题,我做了几件事。首先,我OmniSharp通过安装他们的测试版来降级版本。将该版本的文件下载.vsix到我的机器上。使用以下步骤将其安装.vsix到 Visual Studio Code 中。

  1. 打开 Visual Studio Code 并从菜单中选择“View”->“Extensions”以显示“Extensions”窗格
  2. 单击...扩展窗格右上角的 ,然后Install from VSIX...在菜单上选择“ ”。
  3. 找到.vsix我下载的文件并打开它
  4. 然后重启vs代码

但问题依然出现,于是我将.Net coreSDK v2.2.202版本降级到2.1.202,问题解决。

更新:重新安装 VS Code 后再次遇到同样的问题,解决方法为。

  1. 在 Visual Studio Code 菜单中,进入File > Preferences > Settings。或按Ctrl+ ++,

  2. 搜索设置字段中,输入omnisharp.path

  3. 单击settings.json 中的编辑

像这样添加/编辑,

{
  "omnisharp.path": "latest"
}
Run Code Online (Sandbox Code Playgroud)

如果您的 settings.json 中已有条目,请在最后一个条目后面添加一个逗号并添加如下行:

{
  "workbench.colorTheme": "Solarized Light",
  "omnisharp.path": "latest"
}
Run Code Online (Sandbox Code Playgroud)

最后保存settings.json

您将看到一条提示:“OmniSharp 配置已更改。您想根据更改重新启动 OmniSharp 服务器吗?” 单击“重新启动 OmniSharp ”按钮重新加载它。

在“输出”窗口中,您可以在下载最新版本时看到更新


Abd*_*hri 6

对于最新版本的 Omnisharp,只需在 VS Code C# 扩展设置中取消选中 useModernNet,如屏幕截图所示。在此输入图像描述

  • 已确认可在 Mac 上使用 Unity 版本 2021.3.13f1 运行。 (2认同)