【发布时间】:2017-07-28 12:45:58
【问题描述】:
我们正在尝试基于 Microsoft 的默认规则为我们的公司创建自定义规则集,但禁用了一些更具争议性的规则集。这工作正常。 StyleCop.Analysers 效果很好,并且可以适当地创建警告和错误。它甚至可以在我们的构建服务器上运行。
但是...我在解决方案 1 中添加到 ProjectA 的规则集列在解决方案 2 中 ProjectB 的规则集下拉列表中。这是个问题。如果我选择这个规则集,那么它将在本地工作,但是当我签入它时,没有其他人会拥有相同的路径。由于我们希望通过 nuget 交付这些规则集,因此所有公司规则集将具有相同的名称并且彼此无法区分。因此,即使您有意,也很难在您当前的解决方案中找到合适的解决方案。
这显然很糟糕,我无法相信这是预期的操作模式。我错过了什么?规则集中是否有一个标志使它在本地范围内而不是在机器范围内? Microsoft 支持您在项目中创建规则集,那么为什么它们在不相关的解决方案中可用?
我是否需要解决这个问题并将它们作为 VS 扩展安装一次?这对于文本文件来说似乎非常复杂。这是 VS2017 的 bug 吗?
非常感谢任何指针
-- 更新--
我可以在这里安装 rulset:
“C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Team Tools\Static Analysis Tools\Rule Sets”
它们将被 VS2017 接收。太好了,但是现在如果我尝试在构建服务器上构建,它将没有文件,而且人们的机器可能有不同的版本。这是一团糟。
我需要能够将规则集添加到解决方案并在该解决方案中使用它 - 无需进一步。
-- 进一步更新--
看起来是编辑器很脆弱。如果您加载一个规则集,它会将其添加到它维护的某个内部列表中。每当您转到可用规则集的下拉列表时,它都会向您显示它所看到的仍然可用的规则集。
【问题讨论】:
标签: visual-studio-2017 stylecop