使用 NAnt 执行外部程序

Posted petewell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 NAnt 执行外部程序相关的知识,希望对你有一定的参考价值。

使用 NAnt 执行外部程序


NAnt 是一个可以帮助我们做自动建构的工具,透过NAnt不但可以自动建构,也可以做很多其他如复制文件,整理文件或建构多个版本等功能。基本上 NAnt 就是打内的 Ant。

NAnt 的 Script 是XML,内容是由许多的 Target 组成,如果没有特别指定,默认是会去调用 Build 这个Target.

下面是 NAnt 的范例:

这个范例是使用 MSBuild.exe 去建构 TestApp 这个 solution.

一开始先声明几个变量供后面使用,分别是 _SLNPATH, _SLNNAMEMSBuild.VS2012

接着是默认的 target : Build, 其内容就是去调用 BuildAppSolutionAnyCPUDebugBuildAppSolutionAnyCPURelease 这两个 target. 而在这两个 target 中都有 depend(相依) 到 PreBuildEvent, 这就表示在执行这两个 target? 时会先去调用 PreBuildEvent 这个 Target.

此外,在 Target 中用到的

echo message 代表会将 message 显示在画面上。

exec program? 则是表示会执行外部程序。

arg value 指的就该外部命令要带入那些参数。

最后一个 Target : AddPath_MyTools 里用到的 setenv ,指的就是设定环境变量。

setenv name=”path” 代表要变更 path 这个环境变量

$environment::get-variable(‘PATH’) : 代表取得目前环境变量中的 path 这个项目

分号后面当然就是加入我们想要的路径啰!!

在这里其实我提到的不多,只是一些很基本的观念和语法而已,其实他拥有更多更强大的功能,可以上 http://nant.sourceforge.net/release/latest/help/ 去查看他

使用手册,可以找到更多好用的功能。

NAnt 下载网址:? http://nant.sourceforge.net/

   1: 
   2:? 
   3: 
   4:     
   5:     

    
   6:     也可以在这里使用 include 其他的 NAnt scrip,
   7:     可以将变量写在同一个 script 内,将要执行部会变动的写在另一个
   8:     script 内区分开来。    使用方式如下
   9:         
  10:     -->
  11:     
  12:     
  13:     
  14:? 
  15:     
  16:         
  17:         
  18:     
  19:     
  20:     
  21:         
  22:         
  23:         
  24:             
  25:             
  26:             
  27:         
  28:     
  29:     
  30:     
  31:         
  32:         
  33:         
  34:             
  35:             
  36:             
  37:         
  38:     
  39:     
  40:     
  41:         
  42:     
  43:     
  44:     
  45:         
  46:     
  47: 


补充:

在 MSBuild.exe 的参数当中,/p:Configuration=Release 之后再加上 ;Platform=ARM 则代表要建置 Release ARM 版本

原文:大专栏  使用 NAnt 执行外部程序


以上是关于使用 NAnt 执行外部程序的主要内容,如果未能解决你的问题,请参考以下文章

检查 NAnt 脚本中的 NAnt 版本

关于使用 NAnt 创建和部署最小化 JavaScript 的建议?

如何使用 nant 脚本解压缩文件? Nant 解压缩任务显示一些错误?

将 osql 与 nant 脚本一起使用

NAnt、MbUnit、CruiseControl、Selenium - 将设置传递给测试程序集

我应该从 nant 切换到 msbuild 吗?