CC.NET文件合并任务和动态值 [英] CC.NET File merge task and dynamic values
问题描述
如何在文件合并任务中使用CCNetLabel?从我发现我必须使用dynamicValues。我有这样的东西,它不工作任何帮助?
How can I use CCNetLabel in the file merge task? From what I have found I have to use dynamicValues. I have something like this and it is not working any help?
<publishers>
<merge>
<dynamicValues>
<replacementValue property="files">
<format>D:\Testoutput\{0}\*.xml</format>
<parameters>
<namedValue name="$CCNetLabel" value="Default" />
</parameters>
</replacementValue>
</dynamicValues>
</merge>
<xmllogger />
<modificationHistory onlyLogWhenChangesFound="true" />
<statistics />
</publishers>
推荐答案
配置(有意使用更容易阅读的简写符号):
In your script you're trying to generate the following configuration (intentionally I'm using the shorthand notation which is easier to read):
<publishers>
<merge>
<files>D:\Testoutput\$[$CCNetLabel]\*.xml</files>
</merge>
<xmllogger />
<modificationHistory onlyLogWhenChangesFound="true" />
<statistics />
</publishers>
这不会工作,因为< files>
是一个数组,因此你需要像下面这样:
This won't work because <files>
is an array, therefore you'd need something like:
<publishers>
<merge>
<files>
<file>D:\Testoutput\$[$CCNetLabel]\*.xml</file>
</files>
</merge>
<xmllogger />
<modificationHistory onlyLogWhenChangesFound="true" />
<statistics />
</publishers>
不幸的是,这不工作,因为< dynamicValues> $标签支持
< merge>
,但不支持< files>
标签。我不认为目前(1.6版本)可以使用集成属性。
Unfortunately this doesn't work either because <dynamicValues>
are supported only for the <merge>
but not for the <files>
tag. I don't think it's currently (version 1.6) possible to use integration properties here at all.
我会使用下面的解决方法来实现相同的结果: p>
I'd use the following workaround to achieve the same result:
<publishers>
<exec>
<executable>C:\Windows\system32\cmd.exe</executable>
<buildArgs>/C copy D:\Testoutput\$[$CCNetLabel]\*.xml D:\Testoutput\FixedDir</buildArgs>
</exec>
<merge>
<files>
<file>D:\Testoutput\FixedDir\*.xml</file>
</files>
</merge>
<xmllogger />
<modificationHistory onlyLogWhenChangesFound="true" />
<statistics />
<exec>
<executable>C:\Windows\system32\cmd.exe</executable>
<buildArgs>/C del D:\Testoutput\FixedDir\*.xml</buildArgs>
</exec>
</publishers>
这篇关于CC.NET文件合并任务和动态值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!