NAnt替代品

时间:2009-06-10 06:54:58

标签: build-process nant

我一直在使用NAnt,但它似乎对我需要的东西过于复杂。我想知道是否有任何替代方案来构建C#项目?

7 个答案:

答案 0 :(得分:4)

我想说一旦你开始在NAnt开始,它并不复杂。我错过了一个很好的“让我开始”教程,我读到的所有东西都很贴心。一件好事是你可以使用MSBuild来构建应用程序(这就是我正在使用的),并使用NAnt完成其余的工作。

至少我认为它并不比MSBuild更难 - 对于MSBuild更容易的事情你可以自由地使用MSBuild。

这就是我正在使用的:

<exec program="msbuild.exe" 
      basedir="C:\windows\microsoft.net\Framework\v3.5\" 
      commandline="Project.csproj /p:OutDir=..\Outdir\; configuration=Release" />

答案 1 :(得分:4)

NAnt和MSBuild现在有一些很好的选择。

nRake(或只是耙子)

http://jamescrisp.org/2010/03/20/nrake-rake-builds-for-net/

psake - 用PowerShell编写的构建自动化工具

http://jameskovacs.com/2008/06/27/introducing-psake/

我个人使用过NAnt和MSBuild而焦急地等待我们即将转换到其中一个(我们尚未决定哪个)。 NAnt和MSBuild不是 很难开始,但是一旦构建脚本开始变得越来越大,越来越复杂,你需要实际调试它们,它们将成为一个巨大的负担。这实际上取决于你的自动化程度。

答案 2 :(得分:2)

你可以试试FinalBuilder - 它很容易使用,虽然我更喜欢坚持使用NAnt。你总是有MSBuild ......

答案 3 :(得分:1)

有MSBuild,但它并不比Nant简单。

一旦习惯了语法,两者都很好。

更简单的选择是使用批处理文件。

另一种方法是使用CIFactory,它提供了一种快速建立和运行构建和持续集成服务器的方法。

答案 4 :(得分:0)

我们正在研究Cake - 最大的优势是它基本上是C# 通过我们今天所拥有的复杂流程,维护用于构建,打包和标记代码以及runnig单元测试,代码覆盖率,静态分析等的NAnt脚本非常困难。
另见Why should you use a general purpose scripting language for your build scripts?
由于我们的大部分代码都是C#,我们宁可使用C#...

答案 5 :(得分:-1)

Phantom 是C#的一个非常简洁的选择。我希望它是在python(更便携)和更多使用,因为语法非常整洁和强大。

答案 6 :(得分:-2)

Maven是一个很棒的构建工具,它主要是为Java社区开发的,但现在有一个.NET plugin用于构建C#项目。 Maven(简要概述为see wikipedia)和NAnt之间存在相当大的概念差异,因此如果您想尝试,可能需要先阅读。

2个有趣的功能:

  • 成熟的插件集合,用于执行常见任务,如测试,文档生成,部署等。
  • 可以从central repository
  • 自动获取项目依赖项