有没有一种方法可以在 stylecop 中使用一个且仅一个设置文件?

发布于 2024-09-02 16:26:04 字数 417 浏览 5 评论 0 原文

摆弄 stylecop 设置文件变得很烦人和弄乱我的存储库结构。仓库是这样的:

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

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

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

Dinking around with stylecop settings files is getting annoying and messing with my repo structure. The repo is like this:

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

I would like all projects/solutions to use the settings file from trunk/tools and no others (preferable I'd like all settings file for only projects in this trunk to use that settings file, but system wide is acceptable.

I must be the only person who finds the way stylecop deals with settings files and merging settings files to be really annoying, or I just don't understand it properly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

暗地喜欢 2024-09-09 16:26:04

您可以创建父设置文件,该文件适用于设置文件所在文件夹的子文件夹中的所有项目:
跨项目共享 StyleCop 设置

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

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

You can create a parent settings file, which applies to all projects in subfolders of the folder where the settings file is located:
Sharing StyleCop Settings Across Projects

BUT: that means you can't put the settings file into the trunk/tools folder.
You have to put it directly into the trunk folder instead.

But in my opinion, that's no problem. I did this in my own project as well:
The StyleCop assemblies and the target file are in a subfolder named \Libs\StyleCop, only the settings file itself is in the root folder. I can live with that.

痴情换悲伤 2024-09-09 16:26:04

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

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

If you really don't want to put the settings file in the Trunk folder, then you do have one other option: Replace the settings file in the StyleCop install directory.

Definitely 'an option of last resort', it makes the project validate differently on another computer that hasn't replaced the default StyleCop settings file.
I wouldn't recommend going down this path unless absolutely necessary.
The best way to make all projects use the same settings is by having the settings file in the topmost directory shared by all projects, that's all there is to it.

才能让你更想念 2024-09-09 16:26:04

已更新

如果您使用 本指南(在“分析所有项目”下) href="https://www.nuget.org/packages/stylecop.analyzers/" rel="nofollow noreferrer">StyleCop.Analyzers nuget 包。


如果您使用 StyleCop 安装程序这是旧版本SyleCop),这是可以完成的:

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

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

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

在此处输入图像描述

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

Updated

See this guide (under, Analyzing All Projects) if you are using StyleCop.Analyzers nuget package.


If you are using StyleCop Installer (this is the old version of SyleCop), this is how it can be done:

I have several projects in my solution and I am using my Web project's StyleCop setting as the main (global) setting :

enter image description here

To do this, right click on any other project => StyleCop Settings

enter image description here

Choose: Merge with the following Settings file and choose the your main project's settings.StyleCop (in my case the Web project's setting):

enter image description here

That's it, now your main projects settings would be used for the other (child) project.

You can confirm this by opening your child project's StyleCop setting (note that it's hidden in VS):

enter image description here

And you can see that is referencing your global setting. You can repeat these step for all other required projects.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文