VSCode intellisense not working for one c# project 解决办法

VSCode intellisense not working for one c# project under the solution

我刚刚在 Mac 上安装了 VS Code,并安装了 OmniSharp 以使用 dotnet Core 和 C# 应用程序。我确实从 GitHub 获得了代码,以前没有任何问题。但是它现在有以下问题:

  1. 我在一个解决方案中有多个项目
  2. 从解决方案构建的 Dotnet 未在某一特定项目上显示任何错误。但是,如果我转到包含问题项目的文件夹,然后对该特定项目执行 dotnet build,那么它实际上会显示错误。在此问题之前,在解决方案级别执行 doenet 构建将向我显示包括此项目在内的所有项目中的所有错误。
  3. 此外,当我查看确实有问题的文件时,明显有问题的代码没有在其下显示任何红线。
  4. Intellisense 也停止工作。在这个特定项目的任何文件中,我无法转到任何项目 > 右键单击​​并转到定义。它只是不再工作了。

我已经尝试删除 bin 和 obj 文件夹并重建项目,但它似乎不起作用。还有什么我可以尝试的吗?

检查这个项目是否包含在sln文件中。 VS Code 是基于文件夹的,所以它显示这个项目和文件作为目录,但 OmniSharp 不会识别它。您还可以检查 OmniSharp 日志(在 VS Code -> Output -> C#/Omnisharp(我不记得是哪个))如果这个项目加载没有任何错误

如果您的智能感知 (VS CODE) 在键入时未显示构建错误。 做事。 第 1 步:安装扩展 C#。 如果您已经完成了第 1 步。 第 2 步:转到设置 > 扩展 > c# 配置 > Omnisharp:Disable MSBuild 诊断警告。必须检查一下。

我在这里找到了另一个问题的解决方案(经过数小时的搜索),该问题与 Xunit 类 未被智能感知识别有关。

您需要确保 Omnisharp 具有包含项目的 selected (.sln) 解决方案文件,而不是单个项目 .csproj 文件。

一旦我 select 编辑了解决方案文件,嘿,转眼间,智能感知工作了!

类型(在 VS 代码中): Ctrl + Shift + P 输入“Omnisharp:Select 项目” select 你的解决方案文件不是项目文件!

希望这对您有所帮助,我个人感到非常欣慰!