CC.NET文件合并任务和动态值 [英] CC.NET File merge task and dynamic values

查看:211
本文介绍了CC.NET文件合并任务和动态值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在文件合并任务中使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆