All,
I have been pressured to test MS's BuildIt as our Architecture team is recommending it for all new development projects. I would like to tell you all what I've found:
1) While much of the complexity is hidden from the user, as is so common for MS products, much of the control is also hidden leaving the developer one choice; to modify the source code.
2) MS recommends that you go with a single solution whenever possible so that VS can manage the dependencies. When not possible, a partitioned single solution is recommended where there is a master solution that the build process uses and several sub-solutions that development team uses. What they failed to mention is that in order to use project references , developers will have to reset their references EVERY TIME they get the latest code.
3) BuildIt does not have near the flexibility that Nant has and as a result, you have to wrap the call to build it in Batch files, something that I am trying to get away from.
4) The code seems to be buggy. For example, the copying of the build output is encapsulated in the code. I have a project called Desking.Core and a project called Core. It tries to copy both outputs into the Latest/Core folder and throws an exception because a dll already exists with the same name (Desking.Core references Core.dll)
5) BuildIt calls devenv.exe which is significantly more overhead than csc.exe.
6) If the virtual directory for a web project does not exist, it actually shows the VS prompt and makes the user accept the directories before continuing.
I'm sure there is more but I just wanted to share some observations that I have painfully learned.
You guys are really developing a great solution and I just wanted to say Kudos. The support is timely as well.
Thanks for that. I believe I will be sticking with Nant.
Evan A. Bonnett