NAnt 是基于 .NET 的 XML 格式开源构建工具,核心元素包括 根节点、 目标、内置任务(如 、)和 属性;最小脚本需含 与至少一个
NAnt 是一个基于 .NET 的开源构建工具,语法采用 XML 格式,结构清晰、可读性强。写 NAnt 脚本的关键是理解其核心元素:根节点 、目标()、任务(如 、、)以及属性()。下面直接讲清楚怎么写、怎么用。
每个 .nant 文件必须有一个 根元素,至少包含一个 。以下是最简可用示例:
说明:
- default="build" 指定默认执行的目标;
- basedir="." 设定项目基准路径(相对路径以此为起点);
- 属性用 ${name} 引用,支持嵌套表达式(如 ${output.dir}/Debug);
- 任务名即 XML 元素名(如 ),大小写敏感,需严格匹配 NAnt 内置任务名。
NAnt 提供大量内置任务,覆盖编译、复制、清理、测试等。以下是高频用法:
(C# Compiler)
,支持通配符和过滤
if 或 unless 属性控制任务是否运行
配合命令行传参:
nant -D:build.clean=true clean
属性是 NAnt 脚本的“变量”,可在脚本内定义,也可从命令行注入:
;nant -D:config=Release build;(格式为 key=value);-D 参数优先级最高。用 depends 属性声明目标间的依赖关系,NAnt 自动按拓扑序执行:
说明:
- depends="clean" 表示执行 compile 前先执行 clean;
- 多个依赖用逗号分隔,顺序不影响执行顺序(NAnt 自动解析依赖图);
- 可用 显式调用其他目标(不推荐滥用,易破坏依赖逻辑)。