【问题标题】:NAnt Alternatives [closed]NAnt替代品[关闭]
【发布时间】:2009-06-10 06:54:57
【问题描述】:

我使用 NAnt 已经有一段时间了,但对于我的需要来说,它似乎过于复杂。我想知道是否有其他方法可以构建 C# 项目?

【问题讨论】:

    标签: build-process nant


    【解决方案1】:

    我会说,一旦您开始使用 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" />
    

    【讨论】:

      【解决方案2】:

      现在有一些很好的替代 NAnt 和 MSBuild。

      nRake(或只是 Rake)

      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 一开始并不难,但是一旦构建脚本开始变得更大、更复杂并且您需要实际调试它们,它们就会成为处理的巨大负担。这实际上取决于您的自动化程度。

      【讨论】:

      • 我知道这是一篇旧帖子,但您是否选择过新的构建过程?
      • @MrAH,现在我强烈推荐 Grunt 或 Gulp。我个人更喜欢 Grunt,但 Gulp 最近获得了更多的转化/关注。
      【解决方案3】:

      您可以尝试FinalBuilder - 它非常易于使用,尽管我更喜欢坚持使用 NAnt。而且你总是有 MSBuild...

      【讨论】:

      • 我喜欢这样的工具,比如Visual Build,但它们是商业的,需要在您的系统上安装大量文件。甚至不要在另一个操作系统上运行它们。
      【解决方案4】:

      有 MSBuild,但它并不比 Nant 简单。

      一旦习惯了语法,两者都可以。

      一个更简单的选择是使用批处理文件。

      另一种方法是使用CIFactory,它提供了一种快速启动和运行构建和持续集成服务器的方法。

      【讨论】:

        【解决方案5】:

        我们正在研究Cake - 最大的优势是它基本上是 C#。
        由于我们今天拥有的复杂流程,维护用于构建、打包和标记代码以及运行单元测试、代码覆盖率、静态分析等的 NAnt 脚本非常困难。
        另见Why should you use a general purpose scripting language for your build scripts?
        由于我们的大部分代码都是 C#,我们宁愿使用 C#...

        【讨论】:

          【解决方案6】:

          Phantom 是 C# 的一个非常简洁的替代方案。我希望它是在 python 中(更便携)并且更常用,因为语法非常简洁和强大。

          【讨论】:

            【解决方案7】:

            Maven 是一个很棒的构建工具,它主要是为 Java 社区开发的,但现在有一个 .NET plugin 用于构建 C# 项目。 Maven(简要概述see wikipedia)和 NAnt 之间存在相当大的概念差异,因此如果您想尝试它,可能需要先阅读。

            2 个有趣的功能:

            • 用于执行常见任务(例如测试、文档生成、部署等)的成熟插件集合。
            • 可以自动为你从central repository获取项目依赖

            【讨论】:

              猜你喜欢
              • 2012-06-16
              • 2011-06-16
              • 2011-12-17
              • 2010-10-21
              • 2010-12-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多