【问题标题】:Question on Microsoft.CodeAnalysis.NetAnalyzers and FxCop analyzers关于 Microsoft.CodeAnalysis.NetAnalyzers 和 FxCop 分析器的问题
【发布时间】:2021-04-29 20:12:59
【问题描述】:

在我的 .net 项目(Target Framework 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. 通过在记事本中编辑项目文件来完成此操作。

警告 CA050 现在消失了,但我没有收到之前的任何警告。我期待 Microsoft.CodeAnalysis.NetAnalyzers 生成与之前相同的一组警告(即使我不知道它是如何出现的)。我错过了什么?我不确定 Microsoft.CodeAnalysis.NetAnalyzers 是否在发挥作用。

提前致谢。

【问题讨论】:

标签: c# .net code-analysis roslyn-code-analysis


【解决方案1】:

我的声誉太低,无法发表评论。我推荐阅读: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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多