BuildIt

BuildIt is a new build tool from MS (via Sapient Corp.)

BuildIt.NET is designed to jump-start the build process used for development of .NET distributed applications. This download provides full source code and comprehensive documentation for the Microsoft Visual C#® development tool and Microsoft Visual Basic® .NET development system.

A quick review shows that it seems to do the following:

  • Maintain build numbers - I.e. increments the build number and updates the AssemblyInfo.* files and labels the project in VSS.
  • Build single and multiple solution projects - multi solution builds must list the solutions in dependency order (i.e. no declarative dependencies like nAnt)
  • Create build logs - these can be mailed via SMTP
  • Archives generated assemblies - I.e. copy the results to a folder named after the build number.

The functionality is so limited (no extensibility, requires solution files, requires VSS, required VS.NET, etc) I can't understand why anyone would use this in place of nAnt. However, MS is known for throwing a basic solution out and then gradually refining it until they get it right.

Interestingly the builds are accomplished through VS.NET automation rather than through devenv.exe. Presumably this is to support building with any framework version.

The thing I am interested in is the way they update the AssemblyInfo.* files. Basically they just read the entire file in and do a RegEx replace using the pattern '(?<1>\<Assembly: AssemblyVersion\(""\d+\.\d+\.)[\d\*]*(?<2>.*)' (for C#) and then write it back.

2 Comments

  • I have worked on buildIt , I hve tested it with the small solutions having one or two projects. Now I m testing it on a solution having multiple Project templates and these in turn have multiple projects(There are 4 setup projects included in this solution).As I execute the buildIt.bat file it takes around half hour and the command prompt hangs doing nothing and finally it dislpays a message that the Debug version failed.When I build it manually it goes fine.I need some help regarding this if someone can do it.

  • I have used it, I feel it is good except one disadvantage. When it run the following code in Buildmanager.cs BuildSolutionAndCopyOutput function it is asking for the VSS password can you help me to automate that without asking the vss password. solution.Open(solutionFileName); I want to automate can any one help me in this regards.

Comments have been disabled for this content.