我们在一个集合中有许多 TFS 项目。
每个 TFS 项目都有许多 Visual Studio 解决方案,每个 sln 文件都在它自己的文件夹中。
每个 TFS 项目在 TFS 项目的根目录中都有一个项目特定的 StyleCop.settings 文件。
但是,当我们为每个解决方案创建构建时,我们获取构建只获取包含解决方案的文件夹(按照 Microsoft 的建议,以提高构建性能)。因此,我们错过了 TFS 项目根目录中的 StyleCop.settings 文件。
因此,我的问题是:
如何将我的设置文件应用于解决方案的构建,并满足以下条件
- 所有 StyleCop.settings 文件都必须存储在源代码管理中。
- StyleCop.settings 文件的数量必须保持在最低限度(理想情况下,每个 TFS 项目不超过 1 个)。
- 只有解决方案文件夹应在构建时从 TFS 下载。
- 构建机器和开发人员的机器不应该使用环境变量或类似的东西进行修改。
- 每个解决方案都包含多个 VS 项目(即多个 *.csproj 文件)。
附录 1. 文件夹结构
为了参考/清晰,这里是我上面描述的文件夹结构的一个例子。TFS 构建只会检查 Application1 或 Application2 文件夹(取决于它构建的应用程序)。
C:\Source\
TfsProject1\
stylecop.settings
Application1\
Application1.sln
Application2\
Application2.sln
附录 2. StyleCop NuGet
请注意,我们使用 NuGet 包StyleCop.MsBuild将 StyleCop 集成到 TFS 中 - 它不是直接安装在每台机器上,因此任何依赖它的解决方案都已淘汰 :)