从传统分析 (FxCop) 迁移到源代码分析(.NET 分析器)
.NET Compiler Platform(“Roslyn”)分析器的源代码分析取代了托管代码的传统分析。 对于更新的项目模板(如 .NET Core 和 .NET Standard 项目),传统分析不可用。
许多传统分析 (FxCop) 规则已经针对 .NET 分析器(一组 Roslyn 代码分析器)进行了重写。 Roslyn 分析器在编译器执行期间运行基于源代码的分析。 报告分析器结果以及编译器结果。
有关传统分析与源代码分析之间的差异的详细信息,请参阅以下内容:
迁移
若要迁移到源代码分析,请执行以下操作:
启用或安装 .NET 分析器。 与传统的分析规则冲突一样,源代码分析冲突会出现在 Visual Studio 的“错误列表”窗口中。 此外,源代码分析冲突也会在代码编辑器中显示,表现为违规代码下有波浪线。 规则的严重性设置决定波浪线的颜色。 若要查看移植到新 .NET 分析器的规则的状态,请参阅移植和取消移植规则。
注意
在 Visual Studio 2019 16.8 和 .NET 5.0 之前的版本中,这些分析器作为
Microsoft.CodeAnalysis.FxCopAnalyzers
NuGet 包提供。 从 Visual Studio 2019 16.8 和 .NET 5.0 开始,这些分析器包含在 .NET SDK 中。 它们也作为Microsoft.CodeAnalysis.NetAnalyzers
NuGet 包提供。 有关详细信息,请参阅从 FxCop 分析器迁移到 .NET 分析器。若要解决 CA0507,请确保已为项目禁用旧版代码分析。 在项目文件中,将
RunCodeAnalysis
属性设置为 false:<RunCodeAnalysis>false</RunCodeAnalysis>
或者,打开“项目属性”>“代码分析”,并禁用“生成时运行”设置。
Configuration
若要详细了解如何配置 .NET 分析器,请执行以下操作:
若要配置 .NET 分析器,请参阅配置 .net 分析器。
若要了解如何使用预定义的规则和 EditorConfig 或规则集文件来配置分析器,请参阅启用规则类别。