【问题标题】:How do I prevent Visual Studio from duplicating errors in the error list?如何防止 Visual Studio 重复错误列表中的错误?
【发布时间】:2021-09-19 16:26:14
【问题描述】:

我已经查找了这个问题,但其他答案都没有对我有用。

我在 VS2019 的错误列表中收到重复消息。我不认为这是所有错误,当我第一次打开我的项目时它不会这样做,但是一旦我打开一个 XAML 文件,它就会保持这种状态。引发错误的代码不需要以任何方式与 XAML 文件交互(它发生在新创建的类上)。

一个答案说它可能是 IntelliSense 和编译器报告了相同的错误,但我一直有 IntelliSense + Compiler 并且这个问题只有大约 1-2 个月。另外,我切换到IntelliSense Only,但仍然出现双重错误。

重复的总是来自XamlInProcLanguageClient,但是当我用谷歌搜索时,谷歌搜索会显示一个结果。

附加信息:

  • 新项目和旧项目都会发生这种情况。
  • 我已重置设置,但问题仍然存在。
  • 我的 MSBuild 项目构建输出详细程度为“最小”
  • 如果我关闭并重新打开解决方案,重复项会消失,直到打开 xaml 文件。

我认为我在大约 1-2 个月前所做的唯一可能会影响这一点的事情是我下载了 VS 2022 预览版(2.1 或 3)。但是,我从未真正打开它并卸载它以尝试解决问题(没有运气)。

【问题讨论】:

  • 但是当你解决问题时它们都消失了? (如果是这样......你为什么关心有两个?)
  • 这并不是真正的修复,因为他们回来了。它还会导致其他烦人的事情,比如有时当我修复错误时,由 XamlInProcLanguageClient 引起的错误直到我重新启动 VS 才会从列表中清除。
  • 但是应用程序仍然可以构建和运行?我的 Blazor 项目已经相当习惯了。其中一个有 53 个错误(但它仍然可以正常工作) - 最烦人的是真正的错误最终出现在列表中的某个位置......我可能应该放置一个过滤器以排除“不包含具有这么多参数的构造函数.." 因为所有的虚假错误都是相同的消息????
  • 如果只是“假”错误,它将构建并运行,但如果我隐藏了任何真正的错误,则更难找到它们。因为它们都是由“XamlInProcLanguageClient”生成的,所以我实际上可以将它们全部过滤掉。但我想知道为什么它没有使用时会发生这种情况。
  • 我也有同样的问题。我还下载了 VS 2022 预览版。卸载预览版没有帮助,修复 VS 2019 也没有。我会说它也破坏了代码风格的警告。即使我将规则添加到 .editorconfig 中,我也会收到有关代码样式的警告,例如IDE0011: Add braces to 'if' statement.

标签: c# visual-studio compiler-errors intellisense design-time


【解决方案1】:

我可以在此处的 Microsoft 开发人员社区上找到此问题,因此它似乎是一个错误:

Intellisense content is repeatedly displayed

它在 17.0 中说“已修复”,这只是 VS2022,我已经测试了 16.11.7 (VS2019),问题仍然存在。它似乎在 VS2022 中已修复,因此答案是升级。

【讨论】:

  • 除此之外,截至 2022 年 1 月 30 日,这仍然是 16.11.9 中的一个问题。具体来说(如果链接断开),这是一个重复错误,仅当您在会话中第一次打开 XAML 文件时才会发生。要查看,请检查错误中的工具列,并查看每个错误的“编译器”和“XamlInProcLanguageClient”(错误列表 > 右键单击​​列标题 > 显示列 > 工具)。不幸的是,我无法从我的公司软件解决方案中获得 VS2022,所以我一直被这个烦人的错误困扰,直到有人决定发布 VS2019 的修复程序(我不会屏住呼吸)。
【解决方案2】:

如果你选择Build Only,我相信重复的错误(错误信息)会消失。

看起来重复的错误消息不是来自构建/编译,相反,我认为它们来自 IntelliSense 或 IntelliSense 中用于 Xaml 的功能之一。这可能是 Visual Studio 的一个特性,并且是这样设计的。到目前为止,我还没有找到任何关闭此功能的选项。切换到Build Only 可能有助于过滤它,而且它们似乎总是出现重复的消息,一旦你解决了编译器指出的错误,它们都会消失。

如果你需要这个功能的解释,我建议你在Microsoft Developer Community问,VS产品团队可能会给你解释。

【讨论】:

  • Build Only 的问题是它需要我在得到错误之前构建项目。 IntelliSense 非常棒,我只是不知道这个“XamlInProcLanguageClient”工具是从哪里来的,为什么用谷歌搜索它没有结果。也许我会试试 MDC。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 2016-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多