C#编译器扩展在构建时不显示消息

问题描述 投票:0回答:1

我有一个DiagnosticAnalyzer子类,可以正确识别我的问题,并在VS的“错误”窗口中显示它们。接下来是编写代码修复程序,但是我认为不会有任何问题。

但是,当我实际构建我的应用程序时,添加的警告和错误不会显示。这是诊断分析仪的局限性吗?如果没有,我如何通知Roslyn我也想在构建时看到这些问题?

c# roslyn visual-studio-extensions
1个回答
0
投票

来自the docs

Roslyn代码分析器可以通过NuGet软件包按项目安装。有些还可以作为Visual Studio扩展提供,在这种情况下,它们适用于您在Visual Studio中打开的任何解决方案。这两种安装分析仪的方法之间存在一些关键的行为差异。

范围

如果您将分析器作为Visual Studio扩展安装,它们将在解决方案级别应用于Visual Studio的所有实例。如果将分析仪作为NuGet软件包安装(这是首选方法),则它们仅适用于安装NuGet软件包的项目。在团队环境中,以NuGet软件包形式安装的分析器适用于该项目的所有开发人员。

构建错误

要在构建时强制执行规则,包括通过命令行或作为持续集成(CI)构建的一部分,请将分析器作为NuGet软件包安装。如果将分析器作为扩展程序安装,则分析器警告和错误不会显示在构建报告中。

© www.soinside.com 2019 - 2024. All rights reserved.