Nant foreach 包括排除过滤器未按预期工作

标签 nant

我希望从 nant (0.91) 目标中排除特定文件并处理剩余部分。
这是代码片段,它显示我想包含所有 .js 文件但排除 foo。 foo 没有被排除在外。我试过将排除放在包含之前,但结果相同。

<foreach item="File" in="${built.web.directory}\Content\js" property="filename">
    <in>
        <items basedir="${built.web.directory}\Content\js">
            <include name="/**/*.js" />
            <exclude name="**/foo.1.2.js" />
            <exclude name="foo.1.2.js" />
        </items>
    </in>
    <do>
        <echo message="Compressing ${filename}" />
        <exec program="${packer.exe}" commandline="-o ${built.web.directory}\Content\js\${path::get-file-name(filename)} -m jsmin ${filename}" />
    </do>
</foreach>

最佳答案

您已在 foreach 上指定了 in 属性,该属性覆盖了 items 元素。尝试更改:

<foreach item="File" in="${built.web.directory}\Content\js" property="filename">

到:

<foreach item="File" property="filename">

关于Nant foreach 包括排除过滤器未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5010277/

相关文章:

msbuild - NAnt <msbuild> 自定义输出目录

未找到 NANT 0.92 SDK 7

.net - 如何使用 Nant 构建类库

visual-studio - OutputPath 设置为 bin\x86\release,但在使用 MSBuild 时显示为 obj\x86\release

javascript - 如何使用 nUnit 对 JavaScript 进行单元测试?

ruby - 从 NAnt 调用 rakefile

node.js - 如何解决在 TeamCity 中创建 FileSet 时出现的 NAnt 错误?

visual-studio-2010 - MSBuild 2010 - 如何将 Web 应用程序发布到特定位置 (nant)?

c# - Nant 没有看到引用

database - 我可以使用 NAnt 查询我的数据库并将结果用作参数值吗?