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

我应该从nant切换到msbuild吗?

如何解决《我应该从nant切换到msbuild吗?》经验,为你挑选了4个好方法。

我目前使用nant,ccnet(巡航控制),svn,mbunit.我使用msbuild来做我的sln构建只是因为它更容易出壳.

将我的整个构建脚本切换到MSBuild有什么好处吗?我需要能够运行测试,watir样式测试,xcopy部署.这更容易吗?

更新:任何引人注目的功能会导致我从nant转移到msbuild?



1> Lance Fisher..:

我喜欢MSBuild.一个原因是.csproj文件是msbuild文件,VS中的构建就像在命令行中构建一样.另一个原因是TeamCity的良好支持,这是我一直在使用的CI服务器.如果你开始使用的MSBuild,并且要在构建过程中做更多的事情定制,得到的MSBuild社区任务.他们为您提供了许多额外的好工作.我已经好几年没用过NAnt了,我并没有后悔.

此外,正如Ruben所提到的,CodePlex上有SDC Tasks任务.

为了更有趣,CodePlex上有MSBuild扩展包,其中包含一个推特任务.



2> Jim..:

我的建议正好相反 - 避免像瘟疫这样的MSBuild.NANT更容易设置您的构建以进行自动测试,部署到多个生产环境,与cruisecontrol集成以用于入口环境,与源代码控制集成.我们通过TFS/MSBuild(使用TFSDeployer,自定义PowerShell脚本等)经历了如此多的痛苦,以使它能够完成我们能够用NANT开箱即用的功能.不要浪费你的时间.


我已经广泛使用了这两种方式,而我就像微软基本上复制NAnt一样,MSBuild更容易开发自定义任务,如果你将MSBuild社区任务与MSBuild扩展包结合起来,那么你就有了大量的工具.MSBuild获胜,因为它已集成到MS项目中.
+1 MSBuild有它的位置,但NAnt更强大.当NAntContrib中存在任务时,我发现没有令人信服的理由进行切换.
呃,你错了.1)NANT中的CustomTasks就像它获得的一样简单 - 任务2的子类.NANT具有NANTContrib以及比MSBuild更多的社区支持3)我将NANT集成到我的MS项目中,编写批处理文件来运行NANT.exe.这是一个构建,而不是火箭手术.

3> Adam..:

使用MSBuild的最令人信服的理由(至少在.NET 3.5及更高版本中) - 构建引擎可以同时构建.

这意味着在您拥有多个内核/处理器的构建中可以大幅提升速度.

在3.5之前,MSBuild没有进行并行构建.



4> Brad Leach..:

我觉得MSBuild和Nant相当可比.如果您使用其中之一,我通常不会在它们之间切换,除非您选择的产品中缺少令人信服的功能.

我个人使用MSBuild进行任何新项目,但您的里程可能会有所不同.

希望有所帮助!

编辑: @ChanChan - @Jon提到Nant不构建.NET 3.5应用程序.这可能足以成为改变或至少并行使用它们的理由.随着我越来越倾向于MSBuild,我可能不是最明智的人,要么强调任何其他任何技术的showstoppers.

编辑:现在看来Nant构建了.NET 3.5应用程序.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有