`
pcajax
  • 浏览: 2173182 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用NAnt构建入门

阅读更多

使用NAnt构建入门

前言:

NAnt是一项开源的项目,利用NAnt,你可以方便快捷地对自己.NET项目或解决方案进行自动构建。与VS中可视化化极强的项目和解决方案管理相比,NAnt只能命令行的方式操作,但是这并不影响Nant的流行。NAnt可以根据我们的需要,帮我们自动构建项目,比如创建文件夹,移动文件,运行指定的程序等等,这些都是VS无法办到的。
范例代码:/Files/gpcuster/NAntDemo.rar

正文:

 

如果你的机器上没有安装NAnt,请先到http://nant.sourceforge.net下载,并安装到机器上。

由于NAnt是基于命令行的工具,所以,我们第一步需要配置环境变量:在环境变量设置窗口中找到Path目录,将Nant.exe所在的目录(如C:"Program Files"nant-0.85"bin)添加进去即可。

如果你对配置环境变量不熟悉,也可以在系统目录(如C:"Windows)下添加一个nant.bat文件, nant.bat文件的内容如下:
@echo off
"C:\Program Files\nant-0.85\bin\NAnt.exe" %*

然后,你打开CMD窗口,输入nant后可以看到:

clip_image002

 

然后,我们在D盘的根目录下新建一个NAnt的构建文件,命名为my.build(NAnt的构建文件的后缀名是build)

虽然NAnt构建文件的后缀名不是XML,但是他的文档格式还是基于XML的,所以改文件的开头需要注明<?xmlversion="1.0"?>。在下面我们再加入其他的元素,整个文件的内容如下:

<?xmlversion="1.0"?>

<projectname="Aaron.Guo.NAnt.Project"default="show"basedir=".">

 <targetname="show">

    <echomessage="Hello NAnt"/>

 </target>

</project>

保存以后,我们在CMD窗口中来运行这个构建文件,如下图所示:

clip_image004

 

我们用-buildfile:来指定需要构建的文件的地址(D:"my.build)。可以看到,这个文件就是显示了一个字符串:Hello NAnt。

下面,我们来看看这个文件中的3个重要标志:

1.   project表示构建文件的项目,每个构建文件有且尽有一个项目,他包括一系列的target,name="Aaron.Guo.NAnt.Project"说明项目名称是Aaron.Guo.NAnt.Project这是可选的default=" show "表示项目的默认目的(target)是showbasedir="."表示基准目录为当前目录。

2.   target 表示一个目的,他包括一系列的task,name="show"指定目的的名称,这个是必选的。

3.   echo是一个任务(task)他用来显示一个特定的字符串,message="Hello NAnt"表示要显示的字符串为Hello NAnt

下面,我们用这个构建文件来编译生成一个简单的CS文件。

my.build文件修改后的内容如下:

<?xmlversion="1.0"?>

<projectname="Aaron.Guo.Second.Project"default="show"basedir=".">

 

 <propertyname="basename"value="HelloNAnt"/>

 <propertyname="debug"value="true"/>

 

 <!--显示消息-->

 <targetname="show">

    <echomessage="Hello NAnt"/>

 </target>

 <!--编译文件-->

 <targetname="build">

    <mkdirdir="${basename}/bin" />

    <csctarget="exe"output="${basename}/bin/${basename}-cs.exe"debug="${debug}">

      <sources>

        <includename="${basename}/${basename}.cs"/>

      </sources>

    </csc>

 </target>

 <!--运行文件,run基于build-->

 <targetname="run"depends="build">

    <execprogram="${basename}/bin/${basename}-cs.exe"basedir="."/>

 </target>

 

</project>

然后D盘根目录下新建一个HelloNant文件夹,并在里面添加一个HelloNant.cs文件,该文件的内容如下:

namespace Aaron.Guo.Second.Project

{

    public class HelloNAntCS

    {

        static void Main()

        {

            System.Console.WriteLine("Hello NAnt using C#");

        }

    }

}

好,我们在CMD窗口中运行nant –buildfile:D:"my.build

可以看见,显示的东西还是和上次一样,而且CS文件也没有被编译也没有被运行。原因是这个项目默认的targetshow,所以编译和运行的target都没有执行。因此,我们需要显示的指定相应执行的target

下面,为了执行build,我们输入nant –buildfile:D:"my.build build 执行的输出如下图所示:

clip_image006

 

并且我们可以在D:\HelloNAnt\bin中找到生成的可执行文件HelloNAnt-cs.exe<?XML:NAMESPACE PREFIX = O />

 

然后,我们再来输入nant –buildfile:D:\my.build run 结果如下:

clip_image008

如果我们希望先显示消息,在运行程序,可以执行一下的命令:nant –buildfile:D:\my.build show run 结果如下:

clip_image010

现在,相信大家已经对NAnt的使用有了一定的了解了。

后记:

相信在不久的将来,NAnt也会拥有漂亮方便的图形界面操作方式,功能也将越来越完善。

关于更多更详细的介绍,请大家查看NAnt的帮助文档:)

分享到:
评论

相关推荐

    使用NAnt构建和部署.Net解决方案 的一个项目示例

    使用NAnt进行每日构建 可自动从vstf下载和编译源码,并且自动部署站点

    配置EditPlus与NAnt构建轻型的.NET开发环境

    - 使用NAnt执行构建脚本。在命令行中输入: ``` nant -f:your_build_file.xml ``` - 替换`your_build_file.xml`为你的构建脚本文件名。 #### 四、编写批处理文件 为了简化后续的构建流程,可以创建一个简单的...

    Nant 0.85

    其次,Nant使用.NET语言(如C#或VB.NET)编写自定义任务,而Ant则使用Java。此外,Nant的语法稍有不同,比如属性的引用使用`${property}`而非`${property}`。 **五、Nant 0.85版本** Nant 0.85是Nant的一个具体...

    在.NET环境中实现每日构建--NAnt篇

    在.NET环境中,NAnt(.NET Ant)是一个强大的自动化工具,它借鉴了Java世界的Ant,为.NET开发者提供了类似的功能,用于构建、编译、测试和部署项目。本文将深入探讨如何利用NAnt在.NET环境中实现每日构建。 ### ...

    NAnt配置与示例

    #### 三、NAnt使用示例 下面通过一个简单的示例来展示如何使用NAnt进行.NET项目的构建: ##### 1. 创建项目目录 在计算机上创建一个新的目录,例如`D:\Project\TestNAnt\HelloNant`。 ##### 2. 编写源代码 在`...

    nant-0.91-alpha2-bin

    1. **构建脚本**:NAnt 使用XML格式的构建文件,其中包含了构建过程的所有步骤。这使得构建过程可读性强,易于维护和扩展。例如,`build.xml` 文件会包含编译、复制、打包、测试等不同任务的定义。 2. **任务系统**...

    NAnt 0.86 Beta 1

    NAnt(.NET ANother Toolbuild)是一款基于.NET Framework构建自动化工具,它的设计灵感来源于Apache Ant,主要用于构建.NET应用程序。NAnt提供了XML语法,允许开发者通过编写构建脚本来执行各种任务,如编译代码、...

    NAntMenu:Windows Shell扩展使用NAnt构建脚本中的目标扩展Windows资源管理器的上下文菜单

    该软件包包含Windows Shell扩展,该扩展使用来自NAnt构建脚本( *.build )的目标来扩展Windows资源管理器的上下文菜单。 上下文菜单:- 列出项目目标并进行描述。 执行所选项目的目标。 编辑构建脚本 启动NAnt...

    nant nantcontrib-0.85-src

    标题 "nant nantcontrib-0.85-src" 提到的 "nantcontrib" 是 Nant 的扩展库,包含了各种实用的任务和函数,方便开发者在 Nant 构建脚本中使用。"0.85-src" 表示这是 nantcontrib 的 0.85 版本的源代码,意味着你可以...

    使用Visual Studio和Nant构建Xamarin.Android应用程序

    要使用NAnt构建Xamarin.Android应用,你需要先确保已经安装了以下组件: 1. Visual Studio,包含Xamarin工作负载。 2. NAnt,可以从其官方网站下载并安装。 3. Xamarin.Android SDK,这是构建Android应用所必需的。 ...

    学习NAnt小Demo_Build CS+Solution+MSBuild+SVN+NUnit+NUnitReport

    1. 使用NAnt创建和执行构建脚本,自动编译C#项目。 2. 配置和理解MSBuild项目文件,了解如何利用它进行项目构建。 3. 设置和操作SVN仓库,进行版本控制,了解版本回退和分支管理。 4. 编写NUnit测试用例,测试C#代码...

    nant-0.91-alpha1-bin.zip

    1. **XML 格式的构建脚本**:NAnt 使用 XML 定义构建过程,允许开发者定义目标、任务和属性,以及它们之间的依赖关系。 2. **任务**:NAnt 提供了许多内置任务,如编译代码(C#、VB.NET 等)、复制文件、创建安装...

    NAnt编译proto成C#和dll过程总结

    NAnt使用XML配置文件定义构建任务。在NAnt配置文件中,你需要定义一个`&lt;target&gt;`来编译C#代码。使用`&lt;exec&gt;`任务调用MSBuild或csc.exe(C#编译器),指定输入文件(即protobuf生成的C#类)和输出DLL的路径。例如: ...

    Automatic Integration with CruiseControl.NET, NAnt, and NUnit

    - 使用NAnt创建一个XML格式的构建脚本,定义构建逻辑,包括编译代码、运行NUnit测试等步骤。 - 在脚本中指定NUnit的测试文件路径,以便运行测试。 3. **配置CruiseControl.NET**: - 编写CruiseControl.NET的...

    EditPlus+NAnt构建轻巧的.NET开发环境

    火龙果软件工程技术中心 具体做法如下:首先配置EditPlus。常用的文本编辑器有EditPlus、UltraEdit、Notepad,偶比较喜欢EditPlus,它特有的代码完成功能,实在是感觉很爽!但是EditPlus2并不支持C#的语法高亮,...

    每日构建的东西(.net)

    1. **Nant**:Nant 是一个基于.NET Framework的自动化构建工具,类似于Java世界的Ant。它提供了一种跨平台的方式来编译源代码、执行测试、创建安装包等任务。 2. **NantContrib**:NantContrib 是一组扩展了Nant...

    NAnt - A .NET Build Tool-开源

    NAnt,全称为“.NET Automated Network Toolkit”,是一款基于.NET Framework的开源自动化构建工具,它的设计灵感来源于Java界的Ant。NAnt旨在为.NET开发者提供一个灵活且可扩展的框架,用于编译源代码、复制文件、...

    Nant source

    NAnt 是一个基于 .NET 的生成工具,与当前版本的 Visual Studio .NET 不同,它使得为你的项目创建生成过程变得非常容易。当你拥有大量从事单个项目的开发人员时,你不能依赖于从单个用户的座位进行生成。你也不希望...

    Nant Reloaded-开源

    在传统的NAnt使用中,开发者通常需要通过XML格式的脚本来定义构建过程,这在处理复杂的项目结构时可能会变得繁琐。Nant Reloaded的出现,旨在解决这一问题,它提供了图形化的用户界面,使得配置和管理构建过程变得...

Global site tag (gtag.js) - Google Analytics