【问题标题】:Is there a way to use one and only one settings file in stylecop?有没有办法在 stylecop 中使用一个且只有一个设置文件?
【发布时间】:2010-05-26 15:11:06
【问题描述】:

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

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

我希望所有项目/解决方案都使用主干/工具中的设置文件,而不是其他项目(最好我希望仅此主干中的项目的所有设置文件都使用该设置文件,但系统范围是可以接受的。

我一定是唯一一个发现 stylecop 处理设置文件和合并设置文件的方式真的很烦人的人,或者我只是没有正确理解它。

【问题讨论】:

    标签: settings stylecop


    【解决方案1】:

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

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

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

    【讨论】:

    • 我已经读过了,但我对 repo 的组织有点坚持,我真的希望能够在工具文件夹中拥有设置文件。我想我可能只需要深入研究它的代码。
    • 答案中的链接已失效
    • @nalka:已修复!显然那个博客已经不存在了,所以我把链接改成了 Wayback Machine。
    【解决方案2】:

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

    绝对是“最后的选择”,它使项目在另一台尚未替换默认 StyleCop 设置文件的计算机上以不同方式验证。
    除非绝对必要,否则我不建议您走这条路。
    让所有项目使用相同设置的最佳方法是让所有项目共享最顶层目录中的设置文件,仅此而已。

    【讨论】:

      【解决方案3】:

      更新

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


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

      我的解决方案中有几个项目,我正在使用我的 Web 项目的 StyleCop 设置作为主要(全局)设置:

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

      选择:与以下设置文件合并并选择您的主项目的 settings.StyleCop(在我的例子中是 Web 项目的设置):

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-24
        • 1970-01-01
        • 1970-01-01
        • 2019-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多