如何解决关于 Microsoft.CodeAnalysis.NetAnalyzers 和 FxCop 分析器的问题
在我的 .net 项目(目标框架 4.7)中,在代码分析选项卡中,我看到 Run on build 被选中。所以我能够看到一些 Fxcop 警告。但是当我检查 nuGet 包时,我看到没有安装 Microsoft.CodeAnalysis.FxcopAnalyzers。所以我的第一个问题是当 FxcopAnalyzers nuget 包没有安装时,警告是如何显示的?
Warning CA0507 Post-build Code Analysis (FxcopCmd.exe) has been deprecated in favor of Fxcop analyzers
所以我用谷歌搜索,发现不再支持 FxcopAnalyzers,取而代之的是 Microsoft.CodeAnalysis.NetAnalyzers。
我做了这里提到的步骤https://github.com/dotnet/roslyn-analyzers
-
安装包
-
通过在记事本中编辑项目文件来完成此操作。
警告 CA050 现在消失了,但我没有收到之前出现的任何警告。我期待 Microsoft.CodeAnalysis.NetAnalyzers 生成与之前相同的警告集(即使我不知道它是怎么来的)。我错过了什么?我不确定 Microsoft.CodeAnalysis.NetAnalyzers 是否在做它的工作。
提前致谢。
解决方法
我的名声太小,无法发表评论。我建议阅读此内容:https://docs.microsoft.com/en-us/visualstudio/code-quality/net-analyzers-faq?view=vs-2019
TLDR:用作 Roslyn 分析器时的 FxCop 与 Visual Studio 中的 FxCop(旧版 FxCop)不同。旧版 FxCop 中的一些规则不出现在较新的 FxCop 中。
有关尚未移植的规则列表,请参见下文:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。