Visual Studio 2015-“分析器”参考是什么意思?


74

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


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

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

项目文件内部没有任何内容,并且属性窗口对此条目没有任何显示(完全空白)(尽管与“引用属性”相反,它在标题中显示“文件夹属性”,但并没有太多说明)。

我希望这与罗斯林有关,但我不知道。我已经安装了ReSharper,但我不认为它与此有关。

编辑6.8.2016

可接受的答案说明了分析器提供的工具,但未说明为什么开发工具成为(运行时?)参考。实际上,与其他引用不同,它不是运行时引用。因此,这个奇迹的答案是Hans Passants在下面的评论:

他们选择了笨拙的地方来添加代码分析器功能,否则,如果不彻底解决解决方案资源管理器和nuget的问题,他们找不到更好的地方。–汉斯·帕桑(Hans Passant)'2015年5月26日8:59


2
FWIW,我不会有ReSharper的安装[但]在我的VS2015预览VM,我也看到了“仪”的参考。
克里斯·瑞

选择分析器时,属性窗格显示什么?
DLeh 2015年



3
他们选择了笨拙的地方来添加代码分析器功能,否则,如果不彻底解决解决方案资源管理器和nuget的问题,他们找不到更好的地方。
汉斯·帕桑

Answers:


60

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

它是Visual Studio 2015的最佳和有用的关键新功能之一,它使NuGet包可以在您键入代码时实时启用编辑器中的自定义警告和错误,并具有自动代码修复功能,可以为我们清除这些问题。

包甚至可以捆绑成一个“代码感知库”,该库同时引入API和特定于域的分析器,以确保您在使用时始终如一。

从下载NuGet软件包开始,我们将提供有针对性的指导。而且由于这些分析仪是我们项目的一部分,因此您团队中的每个人都可以看到相同的警告。

编辑1:

分析器具有如下附加规则:

在此处输入图片说明

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


3
我感谢您的输入,但问题仍然悬而未决:为什么要引用(汇编?)。我们从事代码分析已有10年了,从来没有参考。还要阅读我上面的问题:即使我没有下载任何nuget软件包,为什么也要提供参考?
citykid 2015年

@citykid ..如果您在用鼠标右键单击分析器时仔细注意到,您会看到Manage NuGet软件包,但尽管我们尚未安装NuGet软件包,但为什么会出现呢?..
Tharif 2015年

2
它变得更加清晰,因此“分析器”节点是分析器的文件夹。我看不到NuGet的任何内容,上下文菜单中的条目是“添加分析器”和“打开活动规则集”。在添加分析器后,我可以浏览部件。
citykid 2015年

18

当前,有许多不错的分析器可用-Microsoft.AnalyzerPowerPack,Code Cracker,CSharp Essentials,SonarLint等

这些分析器均具有自己的规则集,因此我们可以根据需求决定添加哪个分析器。通过Nuget安装后,VS2015中的灯泡和快速操作将获取相关的规则集,并为开发人员提供即时的编码帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.