是否有基于动态语言的.NET生成工具?
我可能很快就会在.NET中开始一个新项目,并且不希望不使用基于XML的构建工具,例如Nant或者MSBuild。我喜欢Rake,但我认为最好是基于.NET动态语言(例如Boo),其实质类似于gant或者Java的BuildR。 .NET有这样的东西吗?如果没有,我们有什么建议?
解决方案
我还没有听说过类似的信息,但是也许我们可以将Rake移植到IronRuby,然后将其扩展为了解构建C#/ VB.NET和运行其他.NET工具的方法。
总是存在Boo Build System或者简称" Boobs"(是个愚蠢的名字),看上去与Rake非常相似。
Ayende之前在"胸部构建系统简介"中已经写过有关此内容的文章,并展示了一个不错的语法示例。
Boo是用Cand编写的,具有一个非常漂亮的编译器,可以在运行时对其进行修改,以进行各种特定于域的语言(DSL)技巧。
仅当行业标准的构建系统无法满足需求时,才应该真正使用非行业标准的构建系统。 Nant / Msbuild是否提供我们期望不需要的某些功能?
我们应该真正检查一下FinalBuilder。去年,我对它进行了相当多的评估,并非常喜欢它,尽管最后我们部署了TFS2008,因此我们使用TeamBuild获得了很多集成优势。但实际上,FinalBuilder具有大量的预建构建活动,对许多环境和工具的强大支持,以及用于设计所有这些功能的出色IDE。
我们可以尝试FluentBuild。
为了我的钱,使用UppercuT(在后端使用NAnt)是一个最佳解决方案,因为它可以为我做很多事情,而无需进行太多设置。
http://code.google.com/p/uppercut/
这里有一些很好的解释:UppercuT
我们应该尝试NUBuild。
我会定期使用它,并且会处理大约75个项目,每次更改/发布代码时都需要构建该项目。 NUBuild非常快速,易于设置(我们只需执行一次),并通过执行"本地构建"功能,即可轻松获得完整构建服务器的功能。它还具有许多其他高级功能。我们可以在项目站点(在Codeplex上)找到更多详细信息:
http://nubuild.codeplex.com/
自从我们提到它以来,我才刚开始使用IronRuby并从事当前项目。因为我不想让我的团队安装MRI,所以我决定使用我已经预装了rake的IronRuby的xcopy部署。不知道这是否正是我们想要的,但是请查看我关于早期发现的博客文章。
http://dylandoesdigits.blogspot.com/2009/11/rake-for-net-projects.html
我认为它符合要求。 .NET基于动态语言运行时,没有XML。作为当前的msbuild尖括号共同受害者,我对到目前为止所做的工作很少感到非常满意。