最近我已经从NAnt转向MSBuild,因为它能够构建VS解决方案。尽管如此,我偶尔还是会使用NAnt。
你可能也想看看MSBuild Community Tasks,它类似于NAntContrib。
我们两个都使用。NAnt负责所有“脚本”相关的事情,例如复制、部署到IIS上、创建包,而MSBuild则负责构建解决方案。这样,我们就可以通过新版本的NAnt避免非受支持的.NET 4.0出现问题。
NAnt也更具可扩展性。如果我们想将部署脚本迁移到生产服务器,只需复制构建文件并安装适当版本的.NET即可,不需要处理csproj文件的Visual Studio问题:)
YDeliver是由Manoj开发的构建框架,它基于PSake构建而成。它具有丰富的库函数集,能够定义工作流程,并且我们已经使用它将六个企业项目交付到生产环境中。
与TeamCity、CruiseControl或任何可以运行PowerShell的东西一起使用。
我们使用FlubuCore。它是一个开源的C#库,用于使用C#代码构建项目和执行部署脚本。
以下是Flubu的简单示例:
protected override void ConfigureTargets(ITaskContext session)
{
var compile = session.CreateTarget("compile")
.SetDescription("Compiles the solution.")
.AddTask(x => x.CompileSolutionTask())
.DependsOn("generate.commonassinfo");
}
您可以在这里找到有关Flubu的更多信息以及如何入门: 选择构建工具MSBuild、NAnt或其他工具