禁用 .NET 的源代码分析

Visual Studio 允许你控制源代码分析器在生成时和设计时是否运行。 可以禁用的功能有一些限制,关闭代码分析的过程因以下几个因素而异:

  • 项目类型(.NET Core、.NET Standard 和 .NET 5+ 与 .NET Framework)

    .NET Core、.NET Standard 和 .NET 5+ 项目在其 代码分析 属性页上具有选项,可用于从作为 NuGet 包安装的分析器中关闭代码分析。 有关详细信息,请参阅 .NET Core、.NET Standard 和 .NET 5+ 项目。 相比之下,.NET Framework 项目要求在项目文件中设置属性。 若要关闭 .NET Framework 项目的源代码分析,请参阅 .NET Framework 项目

  • 源分析与传统分析

    本文适用于源代码分析,不适用于旧版(二进制)分析。 有关禁用旧分析的信息,请参阅 为托管代码启用和禁用二进制代码分析

.NET Core、.NET Standard 和 .NET 5+ 项目

Visual Studio 2022 版本 17.0.4 及更高版本的代码分析属性页面中提供了两个复选框,用于控制分析器在生成时和设计时是否运行。 若要在项目中禁用代码分析,请执行以下步骤:

  1. 右键单击 解决方案资源管理器 中的项目节点,然后选择“ 属性”。

  2. 选择“Code Analysis”

    此时会打开 “代码分析 属性”页。

    显示“代码分析属性”页的屏幕截图。

  3. 若要在生成时禁用源分析,请在 “生成时运行”下,清除 “始终在生成时运行代码分析”。

  4. 若要禁用实时源分析,请在“ 实时分析上运行”下,在 编辑器中键入时清除“运行代码分析”。

注释

从 Visual Studio 2022 版本 17.0.4 开始,如果你更喜欢按需代码分析执行工作流,则可以在实时分析期间禁用分析器执行。 或者,您可以在项目或解决方案上按需生成并手动触发代码分析。 有关手动运行代码分析的信息,请参阅 针对 .NET 手动运行代码分析

.NET Framework 项目

若要关闭分析器的源代码分析,请将以下一个或多个 MSBuild 属性添加到 项目文件

MSBuild 属性 DESCRIPTION 违约
RunAnalyzersDuringBuild 控制分析器是否在构建时运行。 true
RunAnalyzersDuringLiveAnalysis 控制分析器是否在设计时实时分析代码。 true
RunAnalyzers 将此属性设置为 false 在生成和设计时禁用分析器。 它优先于 RunAnalyzersDuringBuildRunAnalyzersDuringLiveAnalysis true

例如:

<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>

通过此页面,你可以在 Visual Studio 中禁用代码分析。 可以禁用的功能有一些限制,关闭代码分析的过程因以下几个因素而异:

  • 项目类型(.NET Core、.NET Standard 和 .NET 5+ 与 .NET Framework)

    .NET Core、.NET Standard 和 .NET 5+ 项目在其代码分析属性页上具有选项,可用于从作为 NuGet 包安装的分析器中关闭代码分析。 有关详细信息,请参阅 .NET Core、.NET Standard 和 .NET 5+ 项目。 有关如何在 .NET Framework 项目中关闭源代码分析的信息,请参阅 .NET Framework 项目

  • 源分析与遗留分析

    本文适用于源代码分析,不适用于旧版(二进制)分析。 有关禁用旧分析的信息,请参阅 为托管代码启用和禁用二进制代码分析

.NET Core、.NET Standard 和 .NET 5+ 项目

Visual Studio 2019 版本 16.3 及更高版本在 代码分析 属性页中提供了两个复选框,用于控制分析器在生成时和设计时是否运行。 这些选项特定于项目。

显示“代码分析属性”页的屏幕截图。

若要打开此页面,请在 解决方案资源管理器 中右键单击项目节点,然后选择“ 属性”。 选择“ 代码分析 ”选项卡。

  • 若要在生成时禁用源分析,请清除 “在生成时运行” 选项。
  • 若要禁用实时源分析,请清除 “在实时分析上运行” 选项。

注释

从 Visual Studio 2019 版本 16.5 开始,如果你更喜欢按需代码分析执行工作流,则可以在实时分析期间禁用分析器执行。 或者,可以在项目或解决方案上构建代码,然后按需手动触发代码分析。 有关手动运行代码分析的信息,请参阅 针对 .NET 手动运行代码分析

.NET Framework 项目

若要关闭分析器的源代码分析,请将以下一个或多个 MSBuild 属性添加到 项目文件

MSBuild 属性 DESCRIPTION 违约
RunAnalyzersDuringBuild 控制分析器是否在构建时运行。 true
RunAnalyzersDuringLiveAnalysis 控制分析器是否在设计时实时分析代码。 true
RunAnalyzers 将此属性设置为 false 在生成和设计时禁用分析器。 它优先于 RunAnalyzersDuringBuildRunAnalyzersDuringLiveAnalysis true

例如:

<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>