使用Rake over NAnt或MSBuild的原因

Vad*_*dim 1 msbuild nant rake build-process

我见过几个.NET项目(例如FluentNHibernate)使用Ruby的rake来运行他们的构建,而不是使用.Net工具,如NAnt或MSBuild.这样做有什么好处?我们正在开始一个新项目,并试图弄清楚是否坚持我们现有的NAnt构建或迁移到其他东西.任何意见,将不胜感激.

我们正在使用.Net 3.5,如果它有所作为.

kpr*_*bst 5

我不能和Rake说话,因为我从来没有使用它,但我使用过SCons,我认为这与Rake相同,但在Python中.

基于脚本的make工具的主要优点是构建文件实际上是可执行脚本.换句话说,在Rake中,构建文件是一个Ruby脚本,而在SCons中它是一个Python脚本.如果您可以使用构建系统支持的语言编写代码,则可以在构建时执行此操作.所以那里的灵活性基本上是无限的.将其与NAnt进行比较,其中构建文件是XML中的一系列指令和声明.当然,您可以在NAnt构建文件中嵌入脚本和诸如此类的内容,但您仍然会遇到用于表达任务的语言的流程,过程和语法.

然后还有学习曲线.NAnt相对简单,但如果你是一个从未见过构建文件的C#开发人员,那么起初可能会有点压倒性.如果您是Ruby开发人员并且选择Rake,那么学习曲线就不那么陡峭了.

我从来没有遇到过NAnt无法处理的事情,虽然我会承认一些优势往往很难.如果我使用SCons,如果我可以选择编写Python脚本(可以访问优秀的Python标准库),那么它们就会容易得多.