动态的MSBuild任务数

时间:2015-11-12 14:02:44

标签: cruisecontrol.net cruisecontrol

在CC项目配置文件中,我有许多MSBuild任务。每项任务都用于构建一个解决方案。

问题是,如果每次在存储库中添加/删除新项目时都需要维护此CC配置文件。

我的想法是传递给CC动态的解决方案列表,这些解决方案应该逐个构建并执行构建,因为它现在通过配置文件的“静态/旧时尚”维护来完成。

有没有人准备过这样的配置?

1 个答案:

答案 0 :(得分:0)

假设您有类似于以下内容的内容:

在磁盘上:

  • ./ solution1.sln
  • ./ solution2.sln
  • ./ solutionN.sln

一个ccnet项目:

  • Msbuild任务 - > solution1.sln
  • Msbuild任务 - > solution1.sln
  • Msbuild任务 - > solutionN.sln

您要求的是ccnet对其环境之外的内容作出反应。这是不可能的,但是有可能获得另一个工具。

可能的选择:

<强> 1。自定义Msbuild项目 创建一个特定的msbuild项目,该项目在找到的所有解决方案文件上查找并调用msbuild。仅在此项目上调用msbuild。应该可以使用vanilla msbuild执行此操作,请参阅https://msdn.microsoft.com/en-us/library/z7f65y0d.aspx

<强> 2。批处理文件 查找所有文件,并为每个文件执行msbuild。确保输出记录到XML文件(msbuild开关 - 我相信)并合并到publishers部分的结果中。 见How to do something to each file in a directory with a batch script

第3。单一解决方案 创建一个解决方案,其中包含所有解决方案(1到N)中的所有项目,并在此处调用msbuild。 每当新项目出现时,都需要更新此解决方案文件。