微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于 Microsoft.CodeAnalysis.NetAnalyzers 和 FxCop 分析器的问题

如何解决关于 Microsoft.CodeAnalysis.NetAnalyzers 和 FxCop 分析器的问题

在我的 .net 项目(目标框架 4.7)中,在代码分析选项卡中,我看到 Run on build 被选中。所以我能够看到一些 Fxcop 警告。但是当我检查 nuGet 包时,我看到没有安装 Microsoft.CodeAnalysis.FxcopAnalyzers。所以我的第一个问题是当 FxcopAnalyzers nuget 包没有安装时,警告是如何显示的?

现在移动,当我升级到 VS2019 时,出现以下错误

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

  1. 安装包

  2. 通过在记事本中编辑项目文件来完成此操作。

    enter image description here

警告 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 中。

有关尚未移植的规则列表,请参见下文:

https://docs.microsoft.com/en-us/visualstudio/code-quality/fxcop-unported-rules-may-get-ported?view=vs-2019

https://docs.microsoft.com/en-us/visualstudio/code-quality/fxcop-unported-deprecated-rules?view=vs-2019

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。