原文地址: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