代码分析器FxCopAnalyzers全称为Microsoft.CodeAnalysis.FxCopAnalyzers,是一组.NET编译分析工具,包含Microsoft.CodeQuality.Analyzers、Microsoft.NetCore.Analyzers、Microsoft.NetFramework.Analyzers三个子模块,三者都是基于.NET编译器构建的。FxCopAnalyzers对不同的.NET平台可以在编译时进行.NET代码质量检查,提供实用的建议和警告,以改善代码质量、安全和性能。
在.NET 5.0之前的版本中可以通过NuGet包安装FxCopAnalyzers,打开包所在的地址https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers,如图1-43所示。
图1-43 NuGet管理器安装分析器
下面对名为WebForm的.NET Web项目安装FxCopAnalyzers,直接在Visual Studio包管理器处安装,安装完成后分析器列表如图1-44所示。
图1-44 当前项目已安装分析器
FxCopAnalyzers代码分析器可根据审查出的违规代码质量或者安全性等潜在的影响,划分出如表1-3所示的质量等级。
表1-3 代码分析器质量等级
(续)
比如,下面是可能存在XXE漏洞风险的.NET代码,经过代码分析器检测,触发了编号为“CA3075”的规则。
代码分析器使用绿色波浪线进行提示,并在错误列表中注明“LoadXml”方法的不安全重载,如图1-45所示。
图1-45 分析器提示当前方法不安全
打开规则链接/zh-cn/dotnet/fundamentals/code-analysis/quality-rules/ca3075,显示这条安全规则的详细说明,如图1-46所示。
不过从.NET 5.0和Visual Studio 201916.8开始,代码分析器默认已经包含在.NET SDK中,并且微软官方推荐使用Microsoft.CodeAnalysis.NetAnalyzers来替代FxCopAnalyzers。