NAnt替代方案

13
我已经使用NAnt有一段时间了,但它似乎对我需要的功能来说过于复杂了。我想知道在构建C#项目方面是否有任何替代品?
7个回答

4
现在有一些很好的替代品可以取代NAnt和MSBuild。
nRake(或只是Rake)。

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起步并不是很难,但是一旦构建脚本变得更加庞大和复杂,并且你需要实际调试它们时,它们就成为了巨大的负担。这真的取决于你自动化的程度。


我知道这是一个旧帖子,但你最终选择了新的构建过程吗? - Mr AH
1
@MrAH,现在我强烈推荐使用Grunt或Gulp。个人更喜欢Grunt,但是最近Gulp也受到了很多关注和转换。 - Samuel Neff

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" />

2
你可以尝试使用FinalBuilder - 它非常易于使用,虽然我更喜欢使用NAnt。而且你始终可以使用MSBuild...

我喜欢这样的工具,比如Visual Build,但它们是商业软件,需要在您的系统上安装大量文件。甚至不要考虑在另一个操作系统上运行它们。 - Wernight

1

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

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

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

另一个选择是使用CIFactory,它提供了快速启动构建和持续集成服务器的方法。


0

我们正在研究Cake - 最大的优势在于它基本上是C#。
由于我们今天拥有复杂的流程,因此维护我们用于构建、打包和标记代码以及运行单元测试、代码覆盖率、静态分析等的NAnt脚本相当困难。
另请参见为什么应该使用通用脚本语言来编写构建脚本?
由于我们的大部分代码都是C#,所以我们更愿意使用C#...


-1

Phantom 是一个非常不错的 C# 替代品。我希望它能够在 Python 中使用(更加便携)并且被更多人使用,因为它的语法非常简洁而且强大。


-2

Maven是一个很棒的构建工具,主要为Java社区开发,但现在有一个.NET插件可用于构建C#项目。 Maven(请参阅维基百科进行简要概述)和NAnt之间存在相当大的概念差异,因此如果您想尝试它,可能需要先了解一下。

两个有趣的特点:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接