在Nant中创建复杂的文件集条件

时间:2013-11-22 07:03:21

标签: nant

我想通过Nant手动部署我的网站(只需复制所需的文件)。但是我需要.cs目录中的几个App_Code文件。我准备了以下代码,但它排除了所有.cs个文件,并且不包含App_Code中的文件。 include / exclude的优先级(如果存在)是什么?如何解决?

<copy todir="${deploy.dir}">
  <fileset basedir="D:\Src\MyRroj\Web">
    <include name="**/*"/>
    <exclude name="**/*.cs"/>
    <include name="App_Code/*.cs"/>
    <exclude name="Web.config.template"/>
    <exclude name="SqlMap.config.template"/>
  </fileset>
</copy>

1 个答案:

答案 0 :(得分:1)

包括添加文件和排除修剪文件。排序包括,排除不重要因为首先应用包含然后应用排除。通常情况下,我建议制作2 filesets,但copy不支持多个filesets,因此最简单的解决方案是2个单独的复制命令。

<copy todir="${deploy.dir}">
  <fileset basedir="D:\Src\MyRroj\Web">
    <include name="**/*"/>
    <exclude name="**/*.cs"/>
    <exclude name="Web.config.template"/>
    <exclude name="SqlMap.config.template"/>
  </fileset>
</copy>
<copy todir="${deploy.dir}">
  <fileset basedir="D:\Src\MyRroj\Web">
    <include name="App_Code/*.cs"/>
  </fileset>
</copy>