在开始编写 dotnet 的 Roslyn 分析器项目时,会被 VisualStudio 通过 RS1036 要求在项目文件配置上 EnforceExtendedAnalyzerRules 属性,本文将和大家介绍 EnforceExtendedAnalyzerRules 属性的作用
根据 Roslyn 分析器项目要求,需要在 csproj 项目文件添加 EnforceExtendedAnalyzerRules 属性的设置,如以下代码
设置完成之后的 csproj 项目文件代码大概如下
现在 RS1036 只是一个警告而已,可以无视
设置 EnforceExtendedAnalyzerRules 为 true 的作用是带入 banned API 分析的功能,则提供代码编写过程中提示不适用于 Roslyn 分析器项目使用的 API 分析功能
设置 EnforceExtendedAnalyzerRules 为 true 时,有以下的 API 将会被提示不可用
如上文描述,设置 EnforceExtendedAnalyzerRules 为 true 的作用就是提供 API 禁用分析功能,防止写出分析器不支持的代码
更多关于此的讨论请参阅 https://github.com/dotnet/roslyn/issues/63290