NAnt是.NET平台的工具,类似于C语言编译工具make,不过又不仅仅是make的功能,它可以下载源码,重建数据库,编译程序,运行测试,发送邮件(报告测试结果)因此它是持续集成环境里重要的工具。使用:nant首先一个命令行程序,他和make一样解析makefile类似,他解析*.build文件,不同的是build文件是一个XML格式的脚本,并且XML节点和属性有完善仔细的定义,这个可以看它的doc文档(跟随软件一起下载下来了)例如<csc />就是告诉nant执行编译命令,下面是我第一个例子,虽然还是不完善,但是是我一个阶段性成果

default.build


<?xml version="1.0"?>
<project name="WebApp" default="run_test" basedir="."><!--编译方式--><property name="DEBUG" value="true" /><!--目录与文件配置--><property name="SRC" value="./trunk" />    <property name="BIN" value="./trunk/bin" /><property name="SQL_SCRIPT" value="./trunk/script/db.sql" /><!--SVN 地址和帐号信息--><property name="SVN_SERVER" value="http://127.0.0.1:8080/svn/WebApp/trunk" /><property name="SVN_USERNAME" value="lishujun" /><property name="SVN_PASSWORD" value="aaa" /><!--数据库信息--><property name="SQL_SERVER" value="(local)" /><property name="SQL_USERNAME" value="sa" /><property name="SQL_PASSWORD" value="123456" /><!--删除源码和可执行程序--><target name="clean"><delete dir="${SRC}" /></target><!--重新获取源码,重建SQL数据库--><target name="checkout" depends="clean"><exec program="svn" commandline="export ${SVN_SERVER} --username ${SVN_USERNAME} --password ${SVN_PASSWORD}" /><exec program="sqlcmd" commandline="-S ${SQL_SERVER} -U ${SQL_USERNAME} -P ${SQL_PASSWORD} -i ${SQL_SCRIPT}" /></target><!--编译程序--><target name="build_dal" depends="checkout"><csc target="library" output="${BIN}/DAL.dll" debug="${DEBUG}"><sources  basedir="${SRC}/DAL"><include name="*.cs"/></sources></csc></target><target name="build_bll" depends="build_dal"><csc target="library" output="${BIN}/BLL.dll" debug="${DEBUG}"><sources basedir="${SRC}/BLL"><include name="*.cs"/></sources><references basedir="${BIN}/"><include name="DAL.dll" /></references></csc>    </target><target name="build" depends="build_bll"><csc target="library" output="${BIN}/UnitTest.dll" debug="${DEBUG}"><sources basedir="${SRC}/UnitTest"><include name="*.cs"/></sources><references basedir="${BIN}/"><include name="BLL.dll" /><include name="${nant::scan-probing-paths('nunit.framework.dll')}" /></references></csc></target><!--运行测试--><target name="run_test" depends="build"><nunit2><formatter type="Plain"  /><test><assemblies basedir="${BIN}"><include name="UnitTest.dll" /></assemblies><references basedir="Libraries"><include name="BLL.dll" /></references></test></nunit2></target></project>

转载于:https://www.cnblogs.com/code-style/archive/2013/02/04/2891643.html

NAnt简单介绍和我第一个例子相关推荐

  1. spring boot入门 -- 介绍和第一个例子

    "越来越多的企业选择使用spring boot 开发系统,spring boot牛在什么地方?难不难学?心动不如行动,让我们一起开始学习吧!" 使用Spring boot ,可以轻 ...

  2. photoshop工具使用的简单介绍

    我所用PhotoShop版本号是cs6,这里对其主要功能做一个简单介绍. 第一部分: 首先,ps的界面主要分为了6部分: 一.最上面的一行的菜单栏,菜单中有:文件.编辑.图像.图层.文字.选择.滤镜. ...

  3. 第一章 Matlab的简单介绍

    第一章 Matlab的简单介绍 Matlab的发展 Matlab的工作环境 Matlab的帮助系统 Matlab的窗口以及如何设置字体的大小 Matlab写语句 Matlab的执行方式 Matlab的 ...

  4. 总结Vue第一天~简单介绍、基本知识、辅助函数和js数组的高阶函数

    目录 vue中文官网 一.简单介绍: (1)vue.js :本质就是一个js 核心类库[跟咱使用的其他组件插件而安装他们]: ■ 安装方式: (2)小demo了解一下vue.js: (3)响应式: 二 ...

  5. 自己动手写处理器之第一阶段(3)——MIPS32指令集架构简单介绍

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版).今天是第四篇.我尽量每周四篇 1.4 MIPS32指令集架构简单介绍 本书设计的处理器遵循MIPS32 Release 1架构,所以 ...

  6. iOS开发UI篇—多控制器和导航控制器简单介绍

    iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...

  7. 求介绍matlab函数用法的书,MATLAB初学者教程--函数用法的简单介绍

    1.4 函数用法的简单介绍 1.4.1什么是函数 似乎很多人一听到函数这个词就会想到数学中的某个概念,然后对于恐惧数学的同学就开始打退堂鼓.在matlab当中到处可以用到函数,它的出现可以让我们用很简 ...

  8. [第11天]mySQL简单介绍

    昨天我们说到了SQL,很多朋友说很难,我也知道很难的,说那个只是让大家有个基本的了解,不然以后说一些问题时会很困难的.今天我们来说mySQL,之所以说它是为了让大家对数据库能有个较深的了解.MySQL ...

  9. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

最新文章

  1. linux源码安装浏览器,Linux系统手动安装Firefox浏览器
  2. mysql从表中转移数据文件_MySQL 数据文件迁移找不到表
  3. substring,substr,和slice的区别详解。
  4. idea中Terminal终端无法执行GIT命令
  5. MyCat分布式数据库集群架构工作笔记0013---高可用_Mycat双主双从复制配置上
  6. linux下限制一个文件夹大小的方法
  7. Javascript第四章函数function也是数据类型第六课
  8. 使用ADO.NET轻松操纵数据库(二)
  9. 经典排序算法(十七)--计数排序Counting Sort
  10. c语言指数公式_c语言指数函数详解
  11. [论]【DSTGCN】Dynamic SpatiotemporalGraph Convolutional Neural Networks for Traffic Data Imputation
  12. 如何找到隐式转换的SQL?
  13. c语言24小时制转化12,在C ++中将时间从24小时制转换为12小时制
  14. 知道三个金,三个火,三水~~都念什么吗?
  15. 湘潭2017 ccpc中南地区邀请赛 Determinant 高斯约当求逆矩阵
  16. vue之router莫名其妙的bug
  17. 不可错过的年度AI学术盛会 2021新一代人工智能院士高峰论坛暨启智开发者大会议程惊喜发布~
  18. python爬虫 bing壁纸
  19. 快速排序的优化1: 选取中间值或随机值作为基准,C语言实现
  20. python中wheel什么意思_Python Wheels是什么?为什么要关心它?

热门文章

  1. Vscode解决Setting.json报警告:Problems loading reference ... Unable to load schema from ...
  2. 计算机视觉与深度学习 | 深度学习与VO、SLAM、三维重建【论文及代码篇】
  3. 计算机视觉与深度学习 | 基于边缘与形态学的细胞检测
  4. C语言第一行为N以下N行,C语言每日小练(四)——勇者斗恶龙
  5. 回归模型的score得分为负_Sklearn模型中预测值的R2_score为负数的问题探讨
  6. 系统架构师笔记(2)
  7. 【Python】这个插件竟打通了Python和Excel,还能自动生成代码!
  8. 【NLP】中文BERT上分新技巧,多粒度信息来帮忙
  9. 【Python基础】利用 Python 搞定精美网络图!
  10. 【算法基础】十大经典排序算法(动图)