gpt4 book ai didi

.net - NAnt 或 MSBuild,该选择哪一个以及何时选择?

转载 作者:行者123 更新时间:2023-12-03 04:19:40 24 4
gpt4 key购买 nike

我知道还有其他NAntMSBuild Stack Overflow 上的相关问题,但我找不到两者之间的直接比较,所以这就是问题。

什么时候应该选择 NAnt 而不是 MSBuild?哪一个更适合做什么? NAnt 更适合家庭/开源项目,MSBuild 更适合工作项目吗?两者的体验如何?

最佳答案

本周我做了类似的调查。以下是我能够确定的:

NAnt:

  • 跨平台(支持 Linux/Mono)。例如,将网站安装到多个目标(即 Linux Apache 和 Windows IIS)可能会很方便。
  • 与 Ant 的语法有 95% 相似(当前 Ant 用户或 Java 构建者很容易掌握)
  • 与 NUnit 集成以在构建过程中运行单元测试,并与 NDoc 集成以生成文档。

MSBuild:

  • 内置于 .NET。
  • 与 Visual Studio 集成
  • 在 Visual Studio 中轻松开始使用 MSBuild - 一切都在幕后进行。如果您想更深入,可以手动编辑文件。

主观差异: (YMMV)

  • NAnt 文档更加简单一些。例如,MSBuild Task Reference列出“Csc 任务 - 描述 Csc 任务及其参数。”(感谢“帮助”?),而不是 NAnt Task Reference “csc - 编译 C# 程序。” 更新:我注意到 MSBuild documentation已经得到改进,现在好多了(可能与 NAnt 相当)。
  • 弄清楚如何直接从 Visual Studio 中编辑构建脚本源(*.*proj 文件)并不容易。使用 NAnt,我只需让 Visual Studio 将 .build 脚本视为 XML 文件。
  • 显然,在 Visual Studio 中,Web 应用程序项目默认情况下不会获取 *.*proj 文件,因此我很难弄清楚如何让 MSBuild 在我的项目上运行以创建部署脚本。
  • NAnt 不是内置于 Visual Studio 中的,必须使用加载项或作为“外部工具”进行添加。设置起来有点麻烦。
  • (编辑:)我的一位同事提出了这个问题 - 如果您想使用 CruiseControl 设置构建机器为了持续集成,CruiseControl 与 NAnt 完美集成,开箱即用。 更新: CruiseControl 还有一个 MSBuild task .
  • 请参阅下面的评论,了解有关主观差异的完整且最新的讨论。

关于.net - NAnt 或 MSBuild,该选择哪一个以及何时选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/476163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com