禁用 .NET 的源代码分析
适用范围:Visual Studio
Visual Studio for Mac
Visual Studio Code
此页可帮助你禁用 Visual Studio 中的代码分析。 你可以禁用的内容有限制,而关闭代码分析的过程会因几个因素而异:
项目类型(.NET Core/Standard 与 .NET Framework)
.NET Core 和 .NET Standard 项目在其“代码分析”属性页上有一些选项,可让你从作为 NuGet 包安装的分析器中关闭代码分析。 有关详细信息,请参阅 .NET Core 和 .NET Standard 项目。 若要关闭 .NET Framework 项目的源代码分析,请参阅 .NET Framework 项目。
源分析与旧版分析
本文适用于源代码分析,不适用于旧版(二进制)分析。 有关禁用旧版分析的信息,请参阅如何:启用和禁用旧版代码分析。
.NET Core 和 .NET Standard 项目
从 Visual Studio 2022 版本 17.0.4 开始,“Code Analysis”属性页中提供了两个复选框,可用于控制是否在生成时和设计时运行分析器。 这些选项特定于项目。
要打开该页面,右键单击“解决方案资源管理器”中的项目节点,然后选择“属性” 。 选择“代码分析”选项卡。
- 若要在生成时禁用源分析,请取消选中“在生成时运行”选项。
- 若要禁用实时源分析,请取消选中“在实时分析时运行”选项。
备注
从 Visual Studio 2022 版本 17.0.4 开始,如果偏好按需代码分析执行工作流,可以在实时分析期间禁用分析器执行。 或者按需在项目或解决方案上生成和手动触发一次代码分析。 有关手动运行代码分析的信息,请参阅如何:手动运行托管代码的代码分析。
.NET Framework 项目
若要关闭分析器的源代码分析,请将以下一个或多个 MSBuild 属性添加到项目文件。
MSBuild 属性 | 说明 | 默认 |
---|---|---|
RunAnalyzersDuringBuild |
控制分析器是否在生成时运行。 | true |
RunAnalyzersDuringLiveAnalysis |
控制分析器是否在设计时实时分析代码。 | true |
RunAnalyzers |
false 会在生成时和设计时禁用分析器。 此属性优先于 RunAnalyzersDuringBuild 和 RunAnalyzersDuringLiveAnalysis 。 |
true |
示例:
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>
此页可帮助你禁用 Visual Studio 中的代码分析。 你可以禁用的内容有限制,而关闭代码分析的过程会因几个因素而异:
项目类型(.NET Core/Standard 与 .NET Framework)
.NET Core 和 .NET Standard 项目在其“代码分析”属性页上有一些选项,可让你从作为 NuGet 包安装的分析器中关闭代码分析。 有关详细信息,请参阅 .NET Core 和 .NET Standard 项目。 若要关闭 .NET Framework 项目的源代码分析,请参阅 .NET Framework 项目。
源分析与旧版分析
本文适用于源代码分析,不适用于旧版(二进制)分析。 有关禁用旧版分析的信息,请参阅如何:启用和禁用旧版代码分析。
.NET Core 和 .NET Standard 项目
从 Visual Studio 2019 版本 16.3 开始,“代码分析”属性页中提供了两个复选框,可用于控制是否在生成时和设计时运行分析器。 这些选项特定于项目。
要打开该页面,右键单击“解决方案资源管理器”中的项目节点,然后选择“属性” 。 选择“代码分析”选项卡。
- 若要在生成时禁用源分析,请取消选中“在生成时运行”选项。
- 若要禁用实时源分析,请取消选中“在实时分析时运行”选项。
备注
从 Visual Studio 2019 版本 16.5 开始,如果偏好按需代码分析执行工作流,可以在实时分析期间禁用分析器执行,或者按需在项目或解决方案上生成和手动触发一次代码分析。 有关手动运行代码分析的信息,请参阅如何:手动运行托管代码的代码分析。
.NET Framework 项目
若要关闭分析器的源代码分析,请将以下一个或多个 MSBuild 属性添加到项目文件。
MSBuild 属性 | 说明 | 默认 |
---|---|---|
RunAnalyzersDuringBuild |
控制分析器是否在生成时运行。 | true |
RunAnalyzersDuringLiveAnalysis |
控制分析器是否在设计时实时分析代码。 | true |
RunAnalyzers |
在生成时和设计时禁用分析器。 此属性优先于 RunAnalyzersDuringBuild 和 RunAnalyzersDuringLiveAnalysis 。 |
true |
示例:
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>