我可能很快要开始一个.NET的新项目,不想使用基于XML的构建工具,如Nant或MSBuild。我喜欢Rake,但我认为最好有一个基于.NET动态语言(例如Boo)的工具,类似于Java中的gant或BuildR。是否有这样的.NET工具?如果没有,你推荐什么?
我可能很快要开始一个.NET的新项目,不想使用基于XML的构建工具,如Nant或MSBuild。我喜欢Rake,但我认为最好有一个基于.NET动态语言(例如Boo)的工具,类似于Java中的gant或BuildR。是否有这样的.NET工具?如果没有,你推荐什么?
总是有Boo Build System或者简称为“Boobs”(是的,这个名字很傻),看起来非常类似于Rake。
Ayende之前写过关于这个的文章Introducing the Boobs Build System并展示了一个不错的语法例子。
Boo是用C#编写的,并且有一个非常巧妙的编译器,可以在运行时进行修改,用于执行各种特定领域语言(DSL)技巧。
你应该尝试使用NUBuild。
我经常使用它,我需要在每次代码更改/发布时构建大约75个项目。NUBuild非常快速,易于设置(只需设置一次),并通过让您进行“本地构建”使您拥有完整构建服务器的能力。它还具有许多其他高级功能和功能。您可以在项目网站(在codeplex上)上找到更多详细信息:
你应该真的去看看FinalBuilder。去年我评估了它很多次,真的很喜欢它,尽管最终我们部署了TFS2008,所以我们使用TeamBuild来获得很多集成好处。但是,FinalBuilder确实有大量预构建的构建活动,对许多环境和工具提供了良好的支持,并且有一个漂亮的IDE来设计所有这些。
你可以尝试使用FluentBuild。
对我来说,使用UppercuT(在后端使用NAnt)是一个最优解,因为它可以为我完成很多工作而不需要太多设置。
http://code.google.com/p/uppercut/
这里有一些很好的解释:UppercuT
既然你提到了,我刚开始在一个当前项目中使用IronRuby和rake。因为我不想让我的团队安装MRI,所以我决定使用预加载了rake的IronRuby进行xcopy部署。不确定这是否完全符合你的要求,但请查看我关于早期发现的博客文章。
http://dylandoesdigits.blogspot.com/2009/11/rake-for-net-projects.html
我认为它符合您的要求。基于动态语言运行时的.NET,没有XML。作为当前的msbuild角括号共同承受者,迄今为止我对它所需的工作量感到非常满意。
如果行业标准的构建系统无法满足您的需求,那么使用非行业标准的构建系统是您应该仅在必要时才考虑的事情。您是否需要一些 Nant/Msbuild 无法提供的功能?