【问题标题】:Visual Studio 2015 - What does the "Analyzers" reference mean?Visual Studio 2015 - “分析器”参考是什么意思?
【发布时间】:2015-03-02 03:09:00
【问题描述】:

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


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

项目文件里面没有任何内容,属性窗口没有显示任何内容(完全空白)(尽管与“参考属性”相反,它在标题中显示“文件夹属性”,但这并没有说明太多)。

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

编辑 6.8.2016

接受的答案解释了分析器提供的工具,但没有解释为什么 开发工具 会成为(运行时?)参考。实际上,与其他引用不同,它不是运行时引用。所以这个奇迹的答案是下面的 Hans Passants 评论:

他们选择了一个笨拙的地方来添加代码分析器功能,如果不彻底检查解决方案资源管理器和 nuget,他们就找不到更好的地方。 – Hans Passant 2015 年 5 月 26 日 8:59

【问题讨论】:

标签: c# reference visual-studio-2015


【解决方案1】:

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

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

包甚至可以作为“代码感知库”捆绑在一起,该库同时引入 API 和特定领域的分析器,以确保您在使用它时保持正确。

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

编辑 1:

分析器附有如下规则:

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

【讨论】:

  • 感谢您的意见,但问题仍然悬而未决:为什么要引用(程序集?)。我们有 10 年的代码分析,从来没有参考。另请阅读我上面的问题:即使我没有下载任何 nuget 包,为什么还要参考?
  • @citykid ..如果您在右键单击分析器时仔细注意到,您可以看到管理 NuGet 包,但是即使我们没有安装 NuGet 包,为什么会出现这种情况?...谢谢
  • 它变得更清晰了,所以分析器节点是分析器的文件夹。我没有看到 NuGet 的任何内容,上下文菜单中的条目是“添加分析器”和“打开活动规则集”。添加分析器后,我可以浏览程序集。
【解决方案2】:

目前有许多优秀的分析器可用——Microsoft.AnalyzerPowerPack、Code Cracker、CSharp Essentials、SonarLint 等

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    相关资源
    最近更新 更多