在我的组织中,我们计划不再使用.net网络应用程序。源代码控制是TFS,visual studio 2008.我想知道如何使用Nant进行构建?如何使用Nant创建msi并部署应用程序?单独的构建机器是否需要使用nant进行构建?有人请帮帮我。我需要一步一步的过程。提前谢谢。
由于 Shanthi
答案 0 :(得分:1)
对于使用NAnt的分步指南,我建议参考NAnt project documentation了解基本概念。一旦熟悉了它的基本用法,我建议调查nant-contrib项目以获得更多构建任务。
我想直接在这里解决的问题的一部分是使用NAnt是否需要单独的机器的问题。 NAnt并不严格要求单独的机器,但如果您的构建过程是自动化或特别密集的话,单独的机器可能是有益的
[更新]
回应OP的评论: NAnt将构建过程视为要作为目标的一部分执行的一系列单独任务。构建应用程序的正常过程是调用源文件上的编译器以生成二进制文件,NAnt有许多调用语言编译器的任务
在本例中,我将使用NAnt构建文件中的任务调用C#语言编译器(csc.exe),该文件用于由名为hello.cs的单个源文件组成的Hello World应用程序。
<?xml version="1.0"?>
<project name="Hello World" default="build" basedir=".">
<property name="debug" value="true" overwrite="false" />
</target>
<target name="build" description="compiles the source code">
<csc target="exe" output="HelloWorld.exe" debug="${debug}">
<sources>
<includes name="HelloWorld.cs" />
</sources>
</csc>
</target>
</project>
让我们来看看这个XML:
<project name="Hello World" default="build" basedir=".">
注意事项:
默认属性的值为“build”。这意味着如果未指定其他目标,则将调用名为“build”的目标。
这是构建目标,因为描述声明它将编译源代码。为此,使用csc任务。 csc任务有许多选项,包括
target:指定目标将生成的二进制类型。在这种情况下,将生成可执行文件
output:指定将要创建的可执行文件的名称
debug:此属性的值使用条件属性调试(上面定义为false),它将确定编译器是否生成包含调试信息的可执行文件
来源&amp;包括: 指定编译器将为生成可执行文件而解析的源文件
正如您所看到的,构建源代码所需的操作是在目标中定义的。构建文件可以定义许多目标,每个目标都调用许多任务。要生成一个MSI文件,你将会生成一个生成MSI文件的任务,遗憾的是,由于我实际上并没有经常使用NAnt,你必须做一些研究才能找到一个,尽管我有一种感觉,nant-contrib项目包括一个给定的生成MSI有多常见。
我希望这个解释能为你澄清一些事情
此更新中的信息已从NAnt文档
中的this文档中提取答案 1 :(得分:0)