我一直在使用NAnt,但它似乎对我需要的东西过于复杂。我想知道是否有任何替代方案来构建C#项目?
答案 0 :(得分: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" />
答案 1 :(得分:4)
NAnt和MSBuild现在有一些很好的选择。
nRake(或只是耙子)
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不是 很难开始,但是一旦构建脚本开始变得越来越大,越来越复杂,你需要实际调试它们,它们将成为一个巨大的负担。这实际上取决于你的自动化程度。
答案 2 :(得分:2)
你可以试试FinalBuilder - 它很容易使用,虽然我更喜欢坚持使用NAnt。你总是有MSBuild ......
答案 3 :(得分:1)
答案 4 :(得分:0)
我们正在研究Cake - 最大的优势是它基本上是C#
通过我们今天所拥有的复杂流程,维护用于构建,打包和标记代码以及runnig单元测试,代码覆盖率,静态分析等的NAnt脚本非常困难。
另见Why should you use a general purpose scripting language for your build scripts?
由于我们的大部分代码都是C#,我们宁可使用C#...
答案 5 :(得分:-1)
Phantom 是C#的一个非常简洁的选择。我希望它是在python(更便携)和更多使用,因为语法非常整洁和强大。
答案 6 :(得分:-2)
Maven是一个很棒的构建工具,它主要是为Java社区开发的,但现在有一个.NET plugin用于构建C#项目。 Maven(简要概述为see wikipedia)和NAnt之间存在相当大的概念差异,因此如果您想尝试,可能需要先阅读。
2个有趣的功能: