NAnt构建脚本怎么写 NAnt XML语法

15次阅读

NAnt 是基于 .netxml 格式开源构建工具,核心元素包括 根节点、 目标、内置任务(如 、)和 属性;最小脚本需含 与至少一个

NAnt构建脚本怎么写 NAnt XML语法

NAnt 是一个基于 .NET 的开源构建工具,语法采用 XML 格式,结构清晰、可读性强。写 NAnt 脚本的关键是理解其核心元素:根节点 、目标()、任务(如 )以及属性()。下面直接讲清楚怎么写、怎么用。

基本结构:一个可运行的最小脚本

每个 .nant 文件必须有一个 根元素,至少包含一个 。以下是最简可用示例:

     

说明:
default="build" 指定默认执行的目标;
basedir="." 设定项目基准路径(相对路径以此为起点);
– 属性用 ${name} 引用,支持嵌套表达式(如 ${output.dir}/Debug);
– 任务名即 XML 元素名(如 ),大小写敏感,需严格匹配 NAnt 内置任务名。

常用任务写法与典型场景

NAnt 提供大量内置任务,覆盖编译、复制、清理、测试等。以下是高频用法:

  • 编译 C# 项目:用 (C# Compiler)
                                                       
  • 复制文件:用 ,支持通配符和过滤
                                         
  • 条件执行:用 ifunless 属性控制任务是否运行

    配合命令行传参:nant -D:build.clean=true clean

属性定义与外部参数传递

属性是 NAnt 脚本的“变量”,可在脚本内定义,也可从命令行注入:

  • 脚本内定义:
  • 命令行覆盖:nant -D:config=Release build
  • 加载外部配置文件(格式为 key=value);
  • 注意:属性一旦设置不可修改(只读),但 -D 参数优先级最高。

目标依赖与执行流程控制

depends 属性声明目标间的依赖关系,NAnt 自动按拓扑序执行:

        

说明:
depends="clean" 表示执行 compile 前先执行 clean
– 多个依赖用逗号分隔,顺序不影响执行顺序(NAnt 自动解析依赖图);
– 可用 显式调用其他目标(不推荐滥用,易破坏依赖逻辑)。

text=ZqhQzanResources