繁体   English   中英

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

[英]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 build 将向我显示包括此项目在内的所有项目中的所有错误。
  3. 此外,当我查看确实有问题的文件时,显然存在问题的代码在其下没有显示任何红线。
  4. Intellisense 也停止工作。 在此特定项目的任何文件中,我无法转到任何项目 > 右键单击​​并转到定义。 它只是不再起作用了。

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

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

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

我在另一个问题上找到了一个解决方案(经过数小时的搜索),这里有一个类似的问题,即智能感知无法识别 Xunit 类。

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

一旦我选择了解决方案文件,嘿嘿,intellisense 工作了!

键入(在 VS Code 中):ctrl + shift + P 键入“Omnisharp:Select Project”并选择您的解决方案文件而不是项目文件!

希望这会有所帮助,我个人感到很欣慰!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM