c# - 各种 Microsoft.CodeQuality.* 分析器之间有什么区别?
问题描述
我对 .NET Core 的各种代码分析器有点困惑。
如果您创建一个默认的 .NET Core Web 项目,您将获得Microsoft.CodeAnalysis.Analyzers
.
此外,在 NuGet 上,还有Microsoft.CodeQuality.Analyzers
(注意名称略有不同)。安装后,我看到它包含了更多的规则。
最后,还有Microsoft.CodeAnalysis.FxCopAnalyzers
,它似乎包含Microsoft.CodeQuality.Analyzers
。
Microsoft.CodeAnalysis.Analyzers
那么,Microsoft.CodeQuality.Analyzers
和之间究竟是什么关系Microsoft.CodeAnalysis.FxCopAnalyzers
呢?我的项目应该有什么?
PS 创建一个新项目后,我在 NuGet 中搜索Microsoft.CodeAnalysis.Analyzers
包(我的项目中已经存在)。它找到它并声明我的项目具有 v1.1 并且需要将其升级到 v2.9.4。然而,根据 NuGet 的说法,v1.1 是在 2015 年发布的。这没有任何意义,因为我使用的是 VS2019,并且在 2015 年至 2019 年之间已经发布了很多该分析器的版本。
但是,当我将软件包升级到 2.9.4 时 - 分析器具有与 v1.1 相同的 3 条规则。那么我到底要升级什么?
解决方案
这在这里描述:https ://github.com/dotnet/roslyn-analyzers/blob/master/README.md
总之:
- Microsoft.CodeQuality.Analyzers 是用于运行分析器的包。
此包包含不特定于任何特定 API 使用的通用代码质量改进规则
- Microsoft.CodeAnalysis.Analyzers 适用于代码分析创建者。所以用于创建分析器。
- Microsoft.CodeAnalysis.FxCopAnalyzers:这是此存储库的主要分析器包,其中包含所有移植的 FxCop 代码分析规则 (CAxxxx)。
推荐阅读
- python - LookupError:未知编码:-
- java - 将文件加载到队列结构
- css - 如何仅使用 CSS 将动态流动的 CSS 多列保持为固定宽度?
- typescript - module.exports 与导出类
- axon - 插入domainevententry表并发布到axon框架中的kafka主题
- python - Discord.Py 向嵌入消息添加反应
- java - cucumber.runtime.CucumberException:没有找到后端
- c - 我的生产者/消费者 C 代码没有提供任何实际输出
- wso2 - 代理后面的 WSO2 身份服务器 X509 身份验证
- node.js - how to read image stored in mongodb and display in nodejs