VisualStudio2015-“ Analyzer”引用是什么意思?

在 Visual Studio 2015预览版中创建一个普通的 C # 控制台应用程序,我们得到一个名为“ Analyzer”的伪引用:


Expanded Solution Explorer project "References" showing "Analyzers" entry

上面提到的“分析器”是什么意思?

项目文件中没有任何内容,属性窗口也没有显示关于这个条目的任何内容(完全是空白的)(不过,与“引用属性”相反,它在头部显示“文件夹属性”,但这并没有显示太多内容)。

我本以为这和 Roslyn 有关,但我不知道。我安装了 ReSharper 但我不认为这和它有什么关系。

编辑6.8.2016

接受的答案解释了分析程序提供的工具,但是没有解释为什么 开发工具变成了(运行时?)参考文献。实际上,与其他引用不同,它不是运行时引用。所以这个奇迹的答案就是汉斯 · 帕桑特在下面的评论:

他们选择了一个笨拙的地方来添加代码分析器功能,他们只是找不到一个更好的地方,除非彻底改造解决方案资源管理器和 nuget。汉斯 · 帕桑特15年5月26日8点59分

21128 次浏览

Live Code Analyzer 用于添加在您键入时显示的自定义错误消息和警告,以及帮助您清理它们的自动代码修复程序。它们以 NuGet 包的形式提供,您可以将其添加到 VisualStudio2015中的项目中。

这是 Visual Studio 2015最好的、最有用的关键新特性之一,它让 NuGet 包在你输入代码时启用编辑器中的自定义警告和错误,自动代码修复程序可以为我们清理这些问题。

软件包甚至可以捆绑在一起,作为一个“代码感知库”,它既包含 API,也包含特定于域的分析器,以确保您在使用它时保持正确的方向。

从下载 NuGet 软件包的那一刻起,我们就有了针对性的指导。因为这些分析器是我们项目的一部分,所以团队中的每个人都会看到相同的警告。

编辑1:

分析师对它们有如下规则:

enter image description here

这些规则集中于代码中最关键的问题, 包括 潜在的安全漏洞、应用程序崩溃和其他 重要的逻辑和设计错误 为项目创建的任何自定义规则集。

目前有一些好的分析器可用-微软。分析器 PowerPack,代码破解器,CSharp 要点,SonarLint 等

每个分析器都有自己的规则集,因此我们可以根据需求决定添加哪个分析器。一旦通过 Nuget 安装,vs2015中的灯泡和快速操作将获得相关的规则集,并为开发人员提供动态编码协助。