VSCode 智能感知不适用于解决方案下的一个 C# 项目



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

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

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

我在这里找到了另一个问题的解决方案(经过数小时的搜索(,与 Xunit 类不被 intellisense 识别的类似问题。

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

一旦我选择了解决方案文件,那么嘿,presto,智能感知工作!

类型(在 VS 代码中(: ctrl + shift + P 类型"全能:选择项目" 并选择您的解决方案文件而不是项目文件!

希望这有帮助,我个人非常放心!

检查此项目是否包含在 sln 文件中。VS Code是基于文件夹的,因此它将此项目与文件显示为目录,但OmniSharp无法识别它。您还可以检查 OmniSharp 日志(在 VS Code -> 输出 -> C#/Omnisharp (我不记得是哪一个((加载此项目时没有任何错误

如果您的智能感知(VS CODE(在键入时未显示构建错误。 做事。 步骤 1:安装扩展 C#。 如果您已完成步骤 1。 步骤 2:转到设置>扩展> C# 配置>全能:禁用 MSBuild 诊断警告。 这必须检查。

最新更新