当前位置:  开发笔记 > 运维 > 正文

使用MSBuild或NAnt与从命令行运行DevEnv.exe的优点

如何解决《使用MSBuild或NAnt与从命令行运行DevEnv.exe的优点》经验,为你挑选了2个好方法。

任何人都可以解释使用像MSBuild(或NAnt)这样的工具构建项目集合与从命令行运行DevEnv.exe有什么优势?

我过去曾与之合作过的一位同事解释说(至少使用较旧版本的Visual Studio)使用DevEnv.exe比其他技术慢得多,但我还没有看到任何证据,或者现在是现在,从2005年开始,Visual Studio使用了MSBuild.

我知道使用MSBuild的一个优点是允许您构建项目而无需在构建计算机上安装Visual Studio,但我不确定是否还有其他人.



1> Josh Sklare..:

一个原因是因为构建产品不仅仅是编译产品.由于这些工具(及其扩展)提供的功能,创建安装,更新版本号,创建托管,分发最终包等任务变得更加容易.

虽然您可以使用常规脚本完成所有这些操作,但使用NAnt或MSBuild为您提供了一个可靠的框架来完成所有这些操作.社区支持很多,包括可以下载的其他任务(例如MSBuild社区任务项目).此外,在众多第三方和开源产品中也支持它们.

如果您只对编译感兴趣(而不是整个构建过程),您可能会发现一次性节省MSBuild的好处是支持使用多个处理器构建.



2> Jack Ukleja..:

我的团队明显的答案是,没有人安装Visual Studio,特别是我们不会将Visual Studio安装到我们的构建/ CI服务器上.


不安装VS200x会迫使您知道您确实需要生成可部署的产品.如果您在开发框中安装了第三方产品,则它们可能适用于开发人员构建.但是如果你把它放在只有msbuild的机器上,你就会早些时候(而不是后来)知道你丢失了(因此必须分发)一些ThirdParty.dll.阿卡,它需要一些伏都教.我们的构建机器(CCNET)不允许使用VS200x.因此,当我们创建.zip或.msi部署时,我们确切地知道需要包含哪些内容.否则,你猜.
为什么不在构建服务器上?让您的构建使用与开发人员使用的机制不同的机制似乎很奇怪.Visual Studio解决方案控制项目依赖项,您必须在构建服务器上手动维护它,以便您的生产构建不同.
推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有