Visual Studio 2015 – “Analyzers”引用是什么意思?

在Visual Studio 2015 Preview中创build一个简单的C#控制台应用程序,我们得到一个名为“Analyzers”的伪引用:

展开解决方案资源管理器项目显示“分析器”项目的“参考”

上面的“分析仪”参考是什么意思?

项目文件没有什么内容,属性窗口中没有显示任何内容(完全空白)(尽pipe与“引用属性”相反,它在头文件中显示“文件夹属性”,但没有多说)。

我希望这与Roslyn有关,但我不知道。 我安装了ReSharper,但我不认为它有任何关系。

编辑6.8.2016

接受的答案解释了分析器提供的工具,但是为什么开发工具变成(运行时?)参考。 实际上这不是一个运行时参考,不像其他参考。 所以这个奇迹的答案是Hans Passants评论如下:

他们select了一个笨拙的地方添加代码分析器function,他们只是无法find一个更好的地方,彻底检修解决scheme资源pipe理器和nuget。 – Hans Passant 15年5月26日在8:59

实时代码分析器用于添加自定义的错误消息和警告,这些错误消息和警告在您input时就会显示,并自动修复代码以帮助您清理它们。 它们可以在Visual Studio 2015中作为NuGet包添加到项目中。

这是Visual Studio 2015中最好的和有用的关键新function之一,它允许NuGet包在编辑器中input代码时自定义警告和错误,并自动修复代码,为我们清理这些问题。

甚至可以将软件包捆绑在一起,形成一个“代码感知库”,以便引入API和特定于域的分析器,以确保在使用过程中保持正常运行。

从下载NuGet软件包的那一刻起,我们将有针对性的指导。 而且由于这些分析仪是我们项目的一部分,您团队中的每个人都会看到相同的警告。

编辑1:

分析仪有如下的规则:

在这里输入图像说明

这些规则专注于代码中最关键的问题,包括潜在的安全漏洞,应用程序崩溃以及其他重要的逻辑和devise错误 。 您应该在为您的项目创build的任何自定义规则集中包含此规则集。

目前有很多好的分析器可用 – Microsoft.AnalyzerPowerPack,Code Cracker,CSharp Essentials,SonarLint等

每个分析仪都有自己的规则集,所以我们可以根据我们的要求决定添加哪个分析仪。 一旦通过Nuget安装,VS2015中的灯泡和快速操作将提取相关规则集,并为开发人员提供编码帮助。