在CC项目配置文件中,我有许多MSBuild任务。每个任务用于构建一个解决方案。
问题是,如果每次在存储库中添加/删除新项目时都要维护此CC配置文件,则需要进行维护。
我的想法是将应该构建的解决方案的动态列表传递给CC,并逐个执行构建,就像现在对配置文件进行"静态/旧方式"维护一样。
有人准备好这样的配置了吗?
假设您有类似于以下内容的东西:
磁盘上:
- /解决方案1.sln
- /解决方案2.sln
- /解决方案N.sln
还有一个ccnet项目:
- Msbuild任务->解决方案1.sln
- Msbuild任务->解决方案1.sln
- Msbuild任务->解决方案N.sln
你所要求的是ccnet对外部环境做出反应。这是不可能的,但有可能得到另一个工具来做到这一点
可能的选项:
1.自定义Msbuild项目创建一个特定的msbuild项目,该项目可以在找到的所有解决方案文件上查找并调用msbuild。请单独调用此项目的msbuild。使用香草msbuild应该可以做到这一点,请参阅https://msdn.microsoft.com/en-us/library/z7f65y0d.aspx
2.批处理文件查找所有文件,并对每个文件执行msbuild。确保将输出记录到一个XML文件中(我相信是msbuild开关),并在发布者部分合并结果。请参阅如何使用批处理脚本对目录中的每个文件执行某些操作
3.单一解决方案创建一个单独的解决方案,其中包含所有解决方案(1到N)中的所有项目,并在此基础上调用msbuild一次。然而,每次出现新项目时,都需要更新此解决方案文件。