tag:blogger.com,1999:blog-2430856949934117881.post4011972565328431350..comments2023-10-11T02:28:42.588-05:00Comments on Technical Difficulties: The case for MSBuildAnonymoushttp://www.blogger.com/profile/00751154354014174645noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-2430856949934117881.post-91614866297455273642013-07-17T03:59:27.085-05:002013-07-17T03:59:27.085-05:00I've recently started to use MSBuild (manually...I've recently started to use MSBuild (manually) on a project and I'm impressed. I've accomplished some really great things and I haven't had to touch any custom configuration. I used visual studio to set up a custom build configuration and also to setup an msdeploy profile for that configuration. The result is one call to msbuild on my solution with the right parameters and my entire solution is built, a web deploy package is created and deployed to my environment that I setup in visual studio. Anyway, great blog.<br /><br />Anonymoushttps://www.blogger.com/profile/01328753280859635286noreply@blogger.comtag:blogger.com,1999:blog-2430856949934117881.post-39925521224014106092011-12-26T22:37:03.463-06:002011-12-26T22:37:03.463-06:00I consider myself to be moderate-to-advanced in my...I consider myself to be moderate-to-advanced in my MSBuild knowledge. I've written build and deploy scripts for several apps with it. I've authored several custom tasks. To this day, I use it for deploying updates for one of the commercial apps I support. I don't think it's a bad tool, but I think it's uses are pretty limited simply because there are now better tools for the job. I think it's a good fit for simple declarative tasks like (surprise) building a project. For things that require logic though, I think MSBuild is actually a pretty poor choice compared to the other things that are out there. Can it do pretty much anything you'd ever want? Sure, but you can make that argument with COBOL, C, C++, etc. <br /><br />For me, the big disadvantage of MSBuild is how verbose and complex it is for even simple tasks. Most of that is due to the declarative and verbose nature of XML. There's a lot to be said for terseness. What might take 4 or 5 lines of XML with MSBuild can be expressed with no loss in readability in 1 line of Powershell. In fact, the Powershell command is likely to be more readable just because it has less ceremony cluttering things up. Don't forget common, simple things like for loops don't map well to MSBuild, but they're trivial to express in an imperative language. <br /><br />So, I think that's one reason you don't see much love for MSBuild: it's not that people hate it, or that it's not cool, it's just that MSBuild wasn't never really built to handle some of the complicated things that people are now doing with their build and deploy processes. Other tools have cropped up that solve a lot of those problems more elegantly than MSBuild can.Matt Honeycutthttps://www.blogger.com/profile/08598387967691833582noreply@blogger.comtag:blogger.com,1999:blog-2430856949934117881.post-29674656677060654392011-12-24T14:17:27.433-06:002011-12-24T14:17:27.433-06:00Thanks for the post, I agree with a lot of your po...Thanks for the post, I agree with a lot of your points here. Also another thing that people don't typically factor into their thinking is tooling support. Since MSBuild is XML it is easy for tools like Visual Studio to easily integrate with it.Sayed Ibrahim Hashimihttps://www.blogger.com/profile/15638050976039817335noreply@blogger.com