Visual Studio Project Builder

Visual Studio Project Builder is a software tool for automating Visual Studio builds of thousands of projects and provides a notification when the whole build finishes.

Can you imagine trying to build the following software?

  • 30 Visual Studio solutions.
  • 226 Visual Studio projects.
  • 1000+ project configurations that need to built.
  • Many projects have the same name.
  • Some projects must be built with a specific version of Visual Studio. Every Visual Studio from VS 2022 to VS 6.
  • Languages are C++, C, assembler and C#.

The above requirements mean you can’t put all of these into one solution and build it.

How would you go about building that?

The dream tool

We faced this scenario. For years we built software in haphazard ways – a mismash of tools, scripts, batch files, automation tools. If you can think of it, we probably did it. You can get something that works, but it’s always disjointed, brittle and vulnerable to failure, or is hard to add another project or solution to, or you can’t monitor progress easily. There is always something not quite right with these solutions.

In all that time we worked like that what we really needed was a way to just add all the solutions to one tool, have the tool figure out which Visual Studio to use to build which projects in which solution, and to optimize the dependency order so that each project gets built once. No multi-pass builds.

That was the dream tool. Because we couldn’t find one. We built it. Visual Studio Project Builder.

A build tool that can talk

Want to be told “Build Complete.” when your build completes?

Or “Build failed. Two compile errors, one linker error.“?

Visual Studio Project Builder can talk to you when the build completes. We find this very useful. Get on with other stuff and when it’s done a quick message that lets you know if it’s good or not.

Text messages and email

How about receiving a text message when you’re at the shops that the build completed successfully? Would that be useful?

Or if you want more detail, an email. Check your email before work and if the overnight build has failed, you know what has failed and why.

Visual Studio Project Builder

Projects and Solutions

Add projects by loading solutions, or scanning directory hierarchies for solutions.

All C++ project types (vcxproj, vcproj, dsp) are supported, as are C# (csproj), VB.Net (vbproj), J# (vjsproj) and F# (fsproj).

Want to build in the order that best supports project dependencies? Done.

Want to rearrange the project build order? Yes, that too.

Filters

Filter out projects you don’t want. Filter project configurations you don’t care about. Only build what you want to build.

Want to ignore errors and warnings that you don’t care about? We have filters for that.

We’ve set up the defaults to handle the most common issues we’ve seen when building nearly over 1000 project configurations during the development of Visual Studio Project Builder. This should save you some effort setting up suitable filters.

Visual Studio Project Builder progress dialog

When things go wrong

Sometimes when you build software, there are warnings or errors. Sometimes you’ll just let the build finish and deal with the warnings and errors when the build completes. Other times you might want to stop the build or pause the build while you investigate the errors. Context menus bring up all the options you need to examine log files, add new filters for warnings and errors, open build folders, or open projects and solutions so that you get started fixing those errors before unpausing the build.

Visual Studio Project Builder context menu

Command line

Prefer to be able to drive the automated build from a command line? We have support for that too. Here are some examples:

Load a predefined set of projects, and build everything.
VisualStudioProjectBuilder.exe /loadProjects e:\allProjects.vspb 
                               /build
Load a predefined set of projects, build everything and provide a spoken build notification when the build completes.
VisualStudioProjectBuilder.exe /loadProjects e:\allProjects.vspb 
                               /build
                               /sendDetailedBuildNotificationBySpeech:On
Load a predefined set of projects, build everything and send a detailed email when the build completes.
VisualStudioProjectBuilder.exe /loadProjects e:\allProjects.vspb 
                               /build
                               /sendDetailedBuildNotificationByEmail:On
                               /buildNotificationEmailAddress joe.bloggs@gmail.com
Load a predefined set of projects, build everything and send a text message when the build completes.
VisualStudioProjectBuilder.exe /loadProjects e:\allProjects.vspb 
                               /build
                               /sendBuildNotificationByTextMessage:On
                               /buildNotificationSourcePhoneNumber +441133209879
                               /buildNotificationDestPhoneNumber +445907254168

Compatible

Works with Visual Studio 2022, 2019, 2017, 2015, 2013, 2012, 2010, 2008, 2005, 2003, 2002, and Visual Studio 6.

Windows 11, 10, 8, 7, Vista, XP, and all equivalent server versions.

Fully functional, free for 30 days