原文位址:http://chenglong01.blog.sohu.com/124044452.html
1.安裝配置好NAnt等。
2.在D:\cl\NAnt\Test下編寫NAt.bat批處理檔案
@echo off
"D:\cl\NAnt\tools\NAnt0.86\Binary\nant-0.86-beta1\bin\NAnt.exe" %*
3.建立default.build檔案,檔案内容如下:
<?xml version="1.0" encoding="gb2312"?>
<project name="Test" default="run" basedir=".">
<property name="Solution1.Filename" value="D:\cl\NAnt\Test\Solution1\Solution1.sln"/>
<property name="Solution1.Configuration" value="DEBUG"/>
<property name="Build1.OutputFolder" value="D:\cl\NAnt\Test\result\"/>
<property name="Solution2.Filename" value="D:\cl\NAnt\Test\Solution2\Solution2.sln"/>
<property name="Solution2.Configuration" value="DEBUG"/>
<property name="Build2.OutputFolder" value="D:\cl\NAnt\Test\result\"/>
<target name="run">
<!--<call target="HelloNant"/>-->
<!--<call target="HelloWorld"/>-->
<!--<call target="implement"/>-->
<call target="build1"/>
<call target="build2"/>
</target>
<target name="build1">
<solution solutionfile="${Solution1.Filename}" outputdir="${Build1.OutputFolder}test" configuration="${Solution1.Configuration}"/>
</target>
<target name="build2">
<solution solutionfile="${Solution2.Filename}" outputdir="${Build2.OutputFolder}test" configuration="${Solution2.Configuration}"/>
</target>
<target name="build">
<mkdir dir="bin"/>
<csc target="exe" output="bin\HelloWorld.exe">
<sources>
<includes name="HelloWorld.cs"/>
</sources>
</csc>
</target>
<target name="implement" depends="build">
<exec program="bin\helloWorld.exe"/>
</target>
<target name="clean">
<delete dir="bin" failοnerrοr="false"/>
</target>
<target name="HelloNant">
<echo message="Hello Nant"/>
</target>
<target name="HelloWorld">
<echo message="Hello World"/>
</target>
</project>
4.當然還有HelloWord.cs檔案
5.在指令行運作NAnt會報錯:
在指令行裡運作nant,如下圖

6.原因:NAnt不支援.NET FrameWork3.5,采用MSBuild編譯,指令如下:
C:\Windows\Microsoft.NET\Framework3.5\V3.5\MSBuild.exe "D:\cl\NAnt\Test\Solution1\Solution1.sln" /t:Build /p:Configuration=Debug
執行成功,如下圖:
7.建立批處理檔案MsBuild.bat,内容如下
@echo off
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe "D:\cl\NAnt\Test\Solution1\Solution1.sln" /t:Build /p:Configuration=Debug
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe "D:\cl\NAnt\Test\Solution2\Solution2.sln" /t:Build /p:Configuration=Debug
8.更改default.build,如下:
<?xml version="1.0" encoding="gb2312"?>
<project name="Test" default="run" basedir=".">
<property name="Solution1.Filename" value="D:\cl\NAnt\Test\Solution1\Solution1.sln"/>
<property name="Solution1.Configuration" value="DEBUG"/>
<property name="Build1.OutputFolder" value="D:\cl\NAnt\Test\result\"/>
<property name="Solution2.Filename" value="D:\cl\NAnt\Test\Solution2\Solution2.sln"/>
<property name="Solution2.Configuration" value="DEBUG"/>
<property name="Build2.OutputFolder" value="D:\cl\NAnt\Test\result\"/>
<target name="run">
<exec program="msbuild.bat"/>
</target>
<target name="build1">
<solution solutionfile="${Solution1.Filename}" outputdir="${Build1.OutputFolder}test" configuration="${Solution1.Configuration}"/>
</target>
<target name="build2">
<solution solutionfile="${Solution2.Filename}" outputdir="${Build2.OutputFolder}test" configuration="${Solution2.Configuration}"/>
</target>
</project>
其實可以更簡單點,如下:
<?xml version="1.0" encoding="gb2312"?>
<project name="Test" default="run" basedir=".">
<target name="run">
<exec program="msbuild.bat"/>
</target>
</project>
這就是NAnt調用MSBuild