【问题标题】:StyleCop not integrated with Visual Studio 2013StyleCop 未与 Visual Studio 2013 集成
【发布时间】:2015-08-10 17:20:10
【问题描述】:

我在将最新版本的 StyleCop 与 Visual Studio 2013 Ultimate 集成时遇到问题。我还安装了 Re# 9。

This answer 无法在我的电脑上运行:/

我已经安装了 StyleCop nuget 包。

我更改了 csproj 文件中的条目“True”(通过记事本)。它的工作原理我从 StyleCop 得到了很多错误。

1) 为什么 StyleCop 没有与 Visual Studio 集成?我应该在项目的上下文菜单中看到“运行 StyleCop”选项,但我没有看到。 2) 如何确定我的设置文件在 csproj 中的路径?

【问题讨论】:

  • 在您的屏幕截图中,它将 stylecop 列为已安装的软件包。如果 stylecop 在您的代码中发现警告,在 csproj 中将该属性设置为 true 将停止构建您的项目。
  • 是的,它有效。我的目的是让 StypeCop 与 Visual Studio 集成,以便轻松管理规则。
  • 好的,我想我现在明白你的问题了。我以为你在说 stylecop 不工作
  • 我在工作中设置了这个。明天我会看看,让你知道它在我的 Visual Studio 中的情况
  • 太好了,感谢您的帮助

标签: visual-studio-2013 nuget nuget-package stylecop


【解决方案1】:

nuget packageStyleCop.MSBuild 简化了向 csproj 添加属性的过程,该 csproj 需要在构建过程中运行 StyleCop。它还引用了/packages/ 中的 StyleCop 实例,这意味着它是从源控件下载的,并且每个开发人员都不需要安装 StyleCop。

R# 本身没有任何 StyleCop 设置,但它的规则集可以配置为与 StyleCop 匹配。最简单的方法是使用plugin。这目前是 R# 9.1 的预发布版本,因此请确保您在 R# Settings > Environment > Extension Manager 中选中了 Include prelease plugins

要获取上下文菜单,您需要在本地计算机上安装 StyleCop。这目前不支持 Visual Studio 2015。

保持 R# 使用的版本、StyleCop.MsBuild 使用的版本和您机器上安装的版本保持同步很重要,否则会导致误报。

【讨论】:

  • 对于 VS2015 中的上下文菜单,现在你可以试试 Visual-StyleCop。此扩展基于来自 codeplex 的原始源代码,我对其进行了更新以适用于 VS2015 和最常见的 C# 6 规范。要安装它,请启动 VS2015,转到 Tools\Extensions and update,然后搜索 stylecop。有关如何在此处安装它的更多信息:http://*.com/questions/31313249/stylecop-integration-with-visual-studio-2015-rc/32362690#32362690
  • 有什么方法可以在不安装的情况下运行 style cop(例如复制 StyleCop 构建的 dll)来创建自定义规则?我需要运行一个简单的客户规则。但我的组织政策不接受安装。
【解决方案2】:

您应该在“工具”菜单和“解决方案资源管理器”的上下文菜单中有“运行 StyleCop”选项。我安装了 ReSharper,但我认为添加这些菜单项的不是 ReSharper。如果您使用的是 Express/Community 版本,VS Express 版本不支持加载项集成..

【讨论】:

  • 您的屏幕显示我想要达到的情况。我没有看到这个选项。我使用 Visual Studio 2013 Ultimate。
  • 您是否安装了比我拥有的这三个 nuget 包更多的东西?
  • 我找不到您没有菜单项的任何理由。我猜你已经尝试卸载并重新安装?