任何人都可以解释使用像MSBuild(或NAnt)这样的工具构建项目集合与从命令行运行DevEnv.exe有什么优势?
我过去曾与之合作过的一位同事解释说(至少使用较旧版本的Visual Studio)使用DevEnv.exe比其他技术慢得多,但我还没有看到任何证据,或者现在是现在,从2005年开始,Visual Studio使用了MSBuild.
我知道使用MSBuild的一个优点是允许您构建项目而无需在构建计算机上安装Visual Studio,但我不确定是否还有其他人.
一个原因是因为构建产品不仅仅是编译产品.由于这些工具(及其扩展)提供的功能,创建安装,更新版本号,创建托管,分发最终包等任务变得更加容易.
虽然您可以使用常规脚本完成所有这些操作,但使用NAnt或MSBuild为您提供了一个可靠的框架来完成所有这些操作.社区支持很多,包括可以下载的其他任务(例如MSBuild社区任务项目).此外,在众多第三方和开源产品中也支持它们.
如果您只对编译感兴趣(而不是整个构建过程),您可能会发现一次性节省MSBuild的好处是支持使用多个处理器构建.
我的团队明显的答案是,没有人安装Visual Studio,特别是我们不会将Visual Studio安装到我们的构建/ CI服务器上.