有没有办法在stylecop中使用一个且只有一个设置文件?

时间:2010-05-26 15:11:06

标签: settings stylecop

使用stylecop设置文件逛逛变得烦人并且弄乱了我的repo结构。回购是这样的:

+ Trunk
    + src
        - ProjectA
        - ProjectB
        - ...
    + lib
        + Icons
        - ...
    + tools
        + NUnit
        + PartCover
        - Settings.StyleCop
        - ...

我希望所有的项目/解决方案都能使用trunk / tools中的设置文件而不使用其他项目/解决方案(我希望所有设置文件只适用于此中继中的项目使用该设置文件,但系统范围是可以接受的。< / p>

我必须是唯一一个发现stylecop处理设置文件和合并设置文件的方式非常烦人的人,或者我只是不理解它。

3 个答案:

答案 0 :(得分:4)

您可以创建父设置文件,该文件适用于设置文件所在文件夹的子文件夹中的所有项目:
Sharing StyleCop Settings Across Projects

但是:这意味着您无法将设置文件放入 trunk / tools 文件夹中。
您必须将其直接放入 trunk 文件夹中。

但在我看来,这没问题。我也在自己的项目中做到了这一点:
StyleCop程序集和目标文件位于名为\ Libs \ StyleCop的子文件夹中,只有设置文件本身位于根文件夹中。我可以忍受。

答案 1 :(得分:1)

如果您确实不想将设置文件放在Trunk文件夹中,那么您还有另一个选项:替换StyleCop安装目录中的设置文件。

绝对是'最后的选择',它使项目在另一台未替换默认StyleCop设置文件的计算机上以不同方式验证。
除非绝对必要,否则我不建议沿着这条路走下去 使所有项目使用相同设置的最佳方法是让所有项目共享最顶层目录中的设置文件,这就是它的全部内容。

答案 2 :(得分:1)

已更新

如果使用的是this guide nuget包,请参见StyleCop.Analyzers(在“分析所有项目”下)。


如果您使用的是StyleCop Installer这是SyleCop的旧版本),则可以这样做:

我的解决方案中有几个项目,并且我将Web项目的StyleCop设置用作主要(全局)设置:

enter image description here

为此,请右键单击任何其他项目=> StyleCop设置

enter image description here

选择:与以下设置文件合并,然后选择主项目的设置。StyleCop(在我的情况下为Web项目的设置):

enter image description here

就是这样,现在您的主要项目设置将用于其他(子)项目。

您可以通过打开子项目的StyleCop设置来确认这一点(请注意,它在VS中是隐藏的):

enter image description here

您会看到这是在引用您的全局设置。您可以对所有其他必需的项目重复这些步骤。