各种Microsoft.CodeQuality。*分析器之间有什么区别? - c#

我对.NET Core的各种代码分析器感到有些困惑。

如果创建默认的.NET Core Web项目,则会得到Microsoft.CodeAnalysis.Analyzers

另外,在NuGet上,有Microsoft.CodeQuality.Analyzers(注意名称略有不同)。安装后,我发现它包含更多规则。

最后,还有Microsoft.CodeAnalysis.FxCopAnalyzers,其中似乎包含Microsoft.CodeQuality.Analyzers

那么Microsoft.CodeAnalysis.AnalyzersMicrosoft.CodeQuality.AnalyzersMicrosoft.CodeAnalysis.FxCopAnalyzers之间的确切关系是什么?我的项目应该有什么?

附言创建新项目后,我在NuGet中搜索Microsoft.CodeAnalysis.Analyzers包(该包已存在于我的项目中)。它找到它并指出我的项目具有v1.1,并且需要将其升级到v2.9.4。但是,根据NuGet的说法,v1.1于2015年发布。由于我使用的是VS2019,这没有任何意义,并且该分析仪在2015年至2019年之间有很多版本。

但是,当我将该软件包升级到2.9.4时-分析器具有与v1.1相同的3条规则。那我到底要升级什么?

c#大神给出的解决方案

此处描述:https://github.com/dotnet/roslyn-analyzers/blob/master/README.md

综上所述:

Microsoft.CodeQuality.Analyzers是用于运行分析器的软件包。

该软件包包含通用的代码质量改进规则,这些规则并非特定于任何特定API的用法

Microsoft.CodeAnalysis.Analyzers适用于代码分析创建者。因此,用于创建分析器。
Microsoft.CodeAnalysis.FxCopAnalyzers:这是此存储库的主要分析器程序包,其中包含所有已移植的FxCop代码分析规则(CAxxxx)。

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

LeetCode题解计算机为什么是基于二进制的?

可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制

LeetCode题解深度优先遍历和回溯的关系?

深度优先遍历的范围更大还是回溯的范围更大?为什么?题解:我的理解是:dfs是回溯思想的一种体现- 回溯:是在整个搜索空间中搜索出可行解,在搜索过程中不断剪枝回退,这是回溯的思想,这个搜索空间并没有限制于特定的数据结构。- dfs:dfs是指特定的数据结构中如图,树(特殊的图)中搜索答案,范围限制在了特定的数据结构。个人拙见。

LeetCode题解盲人买袜子。

他们都各自买了两对黑袜和两对白袜,八对袜子的布质、大小完全相同,而每对袜子都有一张商标纸连着。两位盲人不小心将八对袜子混在一起。他们每人怎样才能取回黑袜和白袜各两对呢?题解:暴力破解, 把袜子都拆开 一人一只 哈哈

LeetCode题解白石搭白塔

输入黑块和白块的数量,用输入的方块数目建塔,输出最大高度和种数,两种方法至少一层颜色不同才能算不同的方法塔满足下列要求:1. 塔底层块数和高度数值相同,逐层递减1,最高层为12. 每层颜色相同