有没有一种方法可以在 stylecop 中使用一个且仅一个设置文件?
摆弄 stylecop 设置文件变得很烦人和弄乱我的存储库结构。仓库是这样的:
+ Trunk
+ src
- ProjectA
- ProjectB
- ...
+ lib
+ Icons
- ...
+ tools
+ NUnit
+ PartCover
- Settings.StyleCop
- ...
我希望所有项目/解决方案都使用主干/工具中的设置文件,而不使用其他文件(最好我希望仅此主干中的项目的所有设置文件使用该设置文件,但系统范围是 。
我一定是唯一一个发现 stylecop 处理设置文件和合并设置文件的方式非常烦人的人,或者我只是没有正确理解它
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以创建父设置文件,该文件适用于设置文件所在文件夹的子文件夹中的所有项目:
跨项目共享 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.
如果您确实不想将设置文件放在 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.
已更新
如果您使用 本指南(在“分析所有项目”下) 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 :
To do this, right click on any other project => StyleCop Settings
Choose: Merge with the following Settings file and choose the your main project's settings.StyleCop (in my case the Web project's setting):
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):
And you can see that is referencing your global setting. You can repeat these step for all other required projects.