禁用 .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. 选择“代码分析”

    随即打开“代码分析”属性页。

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

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

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

注意

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

.NET Framework 项目

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

MSBuild 属性 说明 默认
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 属性 说明 默认
RunAnalyzersDuringBuild 控制分析器是否在生成时运行。 true
RunAnalyzersDuringLiveAnalysis 控制分析器是否在设计时实时分析代码。 true
RunAnalyzers 设定此属性为 false 会在生成时和设计时禁用分析器。 其优先于 RunAnalyzersDuringBuildRunAnalyzersDuringLiveAnalysis true

例如:

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