How to get Visual Studio Project Builder

Navigation: »No topics above this level«

How to get Visual Studio Project Builder

 Return to chapter overview

Visual Studio Project Builder is free for commercial use. Visual Studio Project Builder can be downloaded for Software Verify's website at https://www.softwareverify.com/product/visual-studio-project-builder/.

This help manual is available in Compiled HTML Help (Windows Help files), PDF, and online.

Windows Help | https://www.softwareverify.com/documentation/chm/visualStudioProjectBuilder.chm
PDF | https://www.softwareverify.com/documentation/pdfs/visualStudioProjectBuilder.pdf
Online | https://www.softwareverify.com/documentation/html/visualStudioProjectBuilder/index.html

Whilst Visual Studio Project Builder is free for commercial use, Visual Studio Project Builder is copyrighted software and is not in the public domain.

You are free to use the software at your own risk.

You are not allowed to distribute the software in any form, or to sell the software, or to host the software on a website.

Contact

Contact Software Verify at:

Software Verify Limited

Suffolk Business Park

Eldo House

Kempson Way

Bury Saint Edmunds

IP32 7AR

United Kingdom

sales | sales@softwareverify.com
support | support@softwareverify.com
web | https://www.softwareverify.com
blog | https://blog.softwareverify.com
library | https://library.softwareverify.com
twitter | https://twitter.com/softwareverify

Visit our blog to read our articles on debugging techniques and tools.

Follow us on twitter to keep track of the latest software tools and updates.


What does Visual Studio Project Builder do?

Navigation: »No topics above this level«

What does Visual Studio Project Builder do?

 Return to chapter overview

Visual Studio Project Builder is a tool to help manage the building of many Visual Studio solutions.

If you have been building software projects for some time, you've probably got several solutions that contain projects that need to be built. You may even be using multiple versions of Visual Studio, from Visual Studio 6 through to Visual Studio 2017. Visual Studio Project Builder will coordinate building projects for all of these different versions of Visual Studio.

At Software Verify we have projects that need to be built by all versions of Visual Studio. We also have different projects that have the same name in different solutions - Visual Studio won't let you load those into one Solution. But that's not a problem with Visual Studio Project Builder, it will manage the building of these projects with ease.

File Formats

Currently we support .vcxproj (Visual Studio 2010-2017), .vcproj (Visual Studio 2002-2008) and .dsp (Visual Studio 6) file formats.

Files

The files managed by a Visual Studio project are C and C++ source files, C and C++ header files, C#, VB.Net, F#, J#, and resource files. We've also added some file extensions that are not typically used by Microsoft, just in case someone is using these variants with Visual Studio. A full list of supported file extensions is shown below.

Source file extensions

C++

c

cc

cpp

cxx

cp

c++

C#

cs

VB.Net

vb

F#

fs

J#

jsl

Header file extensions

C++

h

hh

hpp

hxx

inl

Resource file extensions

bmp

cur

ico

Warnings and Errors

Various warnings and errors may occur when compiling and linking your code. Some of these are harmless and can be ignored. To allow you to ignore specific messages we have provided a filter for warning and error messages.

Filters

When automatically scanning for projects in solutions, you can tell Visual Studio Project Builder to ignore certain project configurations based on the project configuration name.

If you're unsure what to filter, just let everything load then filter the configurations you don't want from the user interface using the context menu.


The menu

Navigation: »No topics above this level«

The menu

 Return to chapter overview

The Visual Studio Project Builder has five sections, File, Projects, Edit, Software Updates and Help.


File

Navigation: The menu >

File

 Return to chapter overview

The File menu controls the loading and saving of groups of Visual Studio projects.

File menu instructionStep Open Project Builder File... instructionStep loads a Visual Studio Project Builder file and displays all the projects.

File menu instructionStep Save Project Builder File... instructionStep saves all the projects in a Visual Studio Project Builder file with the same name as the file previously loaded. If there is no previously loaded filename, you are prompted for a filename.

File menu instructionStep Save Project Builder File As... instructionStep saves all the projects in a Visual Studio Project Builder file in a file with a name of your choice.

File menu instructionStep Close instructionStep clears the display and closes any open files.

File menu instructionStep Exit instructionStep closes Visual Studio Project Builder


Projects

Navigation: The menu >

Projects

 Return to chapter overview

The Projects menu controls adding projects to the group of projects managed by Visual Studio Project Builder and all related build activities.

Projects menu instructionStep Scan all Visual Studio Solutions in Directory... instructionStep loads all projects that found in the specified directory hierarchy.

Projects are loaded according to the criteria and filters specified in the settings dialog.

Projects menu instructionStep Add Projects in Visual Studio Solution... instructionStep loads all projects that are referenced in the specified Visual Studio solution (or Visual Studio 6 Workspace) that you choose with the File Open dialog.

Projects are loaded according to the criteria and filters specified in the settings dialog.

Projects menu instructionStep Add Project... instructionStep loads the project that you choose with the File Open dialog.

Projects menu instructionStep Reload all projects... instructionStep all projects that are loaded are reloaded from the Microsoft Project file for each project.

Projects menu instructionStep Reload all solutions... instructionStep all solutions that were scanned for projects are re-scanned.

Projects are loaded according to the criteria and filters specified in the settings dialog.

Projects menu instructionStep Collection Name... instructionStep set the name of the collection of projects.

Projects menu instructionStep Build Order instructionStep sort the projects by optimized build order, project name or project file path. Optimized build order sorts the projects so that as many dependencies as possible are satisfied before a project is built.

Projects menu instructionStep Build All instructionStep build all projects.

Projects menu instructionStep Build all projects that have errors and warnings instructionStep build only projects that generated errors and/or warnings previously.

Projects menu instructionStep Rebuild All instructionStep rebuild all projects.

Projects menu instructionStep Rebuild all projects that have errors and warnings instructionStep rebuild only projects that generated errors and/or warnings previously.

Projects menu instructionStep Clean All instructionStep clean all projects.

Projects menu instructionStep Clean all projects that have errors and warnings instructionStep clean only projects that generated errors and/or warnings previously.

Projects menu instructionStep Touch Source Files and Header Files instructionStep touch all files in a project.

Projects menu instructionStep Stop Build instructionStep stop the building of all projects.

Projects menu instructionStep Select All instructionStep select all project configurations.

Projects menu instructionStep Deselect All instructionStep deselect all project configurations.

Projects menu instructionStep Delete All Build Logfiles instructionStep delete the build logfiles associated with each project configuration.


Edit

Navigation: The menu >

Edit

 Return to chapter overview

The Edit menu controls editing the settings, the display of optional columns and optional full file path

Edit menu instructionStep Settings instructionStep displays the settings dialog.

Edit menu instructionStep Load Settings instructionStep load the settings from a file.

Edit menu instructionStep Save Settings instructionStep save the settings to a file.

Edit menu instructionStep Show Delete, Up, Down controls instructionStep toggle the display of the #, Delete, Up, Down controls.

Edit menu instructionStep Show Full Path instructionStep toggle the display of full path information in the Project column.


Software Updates

Navigation: The menu >

Software Updates

 Return to chapter overview

The Software Updates menu controls how often software updates are downloaded.

If you've been notified of a new software release to Visual Studio Project Builder or just want to see if there's a new version, this feature makes it easy to update.

menu Software Updates menu instructionStep Check for software updates instructionStep checks for updates and shows the software update dialog if any exist

An internet connection is needed to be able to make contact with our servers.

note Before updating the software, close the help manual, and end any active session by closing target programs.

If no updates are available, you'll just see this message:

Software Update dialog

If a software update is available for Visual Studio Project Builder you'll see the software update dialog.

·Download and install instructionStep downloads the update, showing progress

Once the update has downloaded, Visual Studio Project Builder will close, run the installer, and restart.

You can stop the download at any time, if necessary.

·Don't download... instructionStep Doesn't download, but you'll be prompted for it again next time you start Visual Studio Project Builder

·Skip this version... instructionStep Doesn't download the update and doesn't bother you again until there's an even newer update

·Software update options... instructionStep edit the software update schedule

Problems downloading or installing?

If for whatever reason, automatic download and installation fails to complete:

·Download the latest installer manually from the software verify website.

Make some checks for possible scenarios where files may be locked by Visual Studio Project Builder as follows:

·Ensure Visual Studio Project Builder and its help manual is also closed

·Ensure any error dialogs from the previous installation are closed

You should now be ready to run the new version.

Software update schedule

Visual Studio Project Builder can automatically check to see if a new version of Visual Studio Project Builder is available for downloading.

menu Software Updates menu instructionStep Configure software updates instructionStep shows the software update schedule dialog

The update options are:

·never check for updates

·check daily (the default)

·check weekly

·check monthly

The most recent check for updates is shown at the bottom.

Software update directory

It’s important to be able to specify where software updates are downloaded to because of potential security risks that may arise from allowing the TMP directory to be executable. For example, to counteract security threats it's possible that account ownership permissions or antivirus software blocks program execution directly from the TMP directory.

The TMP directory is the default location but if for whatever reason you're not comfortable with that, you can specify your preferred download directory. This allows you to set permissions for TMP to deny execute privileges if you wish.

menu Software Updates menu instructionStep Set software update directory instructionStep shows the Software update download directory dialog

An invalid directory will show the path in red and will not be accepted until a valid folder is entered.

Example reasons for invalid directories include:

·the directory doesn't exist

·the directory doesn't have write privilege (update can't be downloaded)

·the directory doesn't have execute privilege (downloaded update can't be run)

note When modifying the download directory, you should ensure the directory will continue to be valid. Updates may no longer occur if the download location is later invalidated.

·Reset instructionStep reverts the download location to the user's TMP directory

The default location is c:\users\[username]\AppData\Local\Temp


Help

Navigation: The menu >

Help

 Return to chapter overview

The Help menu controls displaying this help document and displaying information about Visual Studio Project Builder.

Help menu instructionStep About Visual Studio Project Builder... instructionStep displays information about Visual Studio Project Builder.

Help menu instructionStep Readme and Version History... instructionStep displays the readme and version history.

Help menu instructionStep Help Topics... instructionStep displays this help file.

Help menu instructionStep Help PDF... instructionStep displays this help file in PDF format.

Help menu instructionStep Help on softwareverify.com... instructionStep display the Software Verify documentation web page where you can view online documentation or download compiled HTML Help and PDF help documents.

Help menu instructionStep Blog... instructionStep display the Software Verify blog.

Help menu instructionStep Library... instructionStep display the Software Verify library - our best blog articles grouped by related topics.

Help menu instructionStep Contact customer support... instructionStep displays the options for contacting customer support.

Click a link to contact customer support.

Help menu instructionStep How do I?... instructionStep displays the options for asking us how to do a particular task.


The graphical user interface

Navigation: »No topics above this level«

The graphical user interface

 Return to chapter overview

Visual Studio Project Builder provides a graphical user interface to allow you to monitor the build progress, success and failure of builds.

You can load previously saved groups of projects, load all projects in a solution, or load all projects referenced by all solutions in a directory hierarchy.


The user interface

Navigation: The graphical user interface >

The user interface

 Return to chapter overview

The Visual Studio Project Builder user interface is a grid, where each row represents a project and each column a project configuration.

Detail of the first few columns.

Fixed columns

The first two columns are Project and Solution.

Project

The Project column displays the file name of the project. For example test.vcxproj.

Solution

The Solution column displays the name of the solution. For example svlDLLs.

Optional columns

The next four columns are optional. These are #, Delete, Up, Down. These columns are in the form of buttons, allowing you to rearrange the order of projects in the list.

By default these columns are displayed. You can turn the display of these columns on or off from the Edit menu.

#

The # column displays the version of Visual Studio required to build the project.

Delete

The delete column, if you click this cell, will delete the project from the list of projects to be built.

Up

The up column, if you click this cell, will move the column up the list of projects to be built.

Down

The down column, if you click this cell, will move the column down the list of projects to be built.

Project columns

The remaining columns list all the project configurations that are present in all the projects loaded. For the project configurations that are in a particular project, those have a check box, allowing you to enable or disable a specific project configuration to be built.

The background colour of a project configuration tells you if it is building, linking, if warnings have been found and if errors have been found.

In the image above, everything has been built, but some project configurations have some linker errors (purple).


The context menu

Navigation: The graphical user interface >

The context menu

 Return to chapter overview

The user interface has a context menu that can be used to apply actions to a specific project configuration.

Build

A submenu is displayed.

Build this project configuration

The project configuration that was clicked on to display the context menu is built.

Build all project configurations

All project configurations for the project that was clicked on to display the context menu are built.

Build all projects that have this configuration

All projects that have the project configuration that was clicked on to display the context menu are built.

Build this configuration of all projects that have this project name

The project configuration that was clicked on to display the context menu are is built if they are in a project having the same project filename as the project configuration that was clicked on. (For example tabserv.vcxproj).

Build all configurations of all projects that have this project name

All projects that have the project configuration that was clicked on to display the context menu are built if they are in a project having the same project filename as the project configuration that was clicked on.

(For example tabserv.vcxproj).

Build this configuration of all projects in this solution

All projects that have the project configuration that was clicked on to display the context menu are built if they are in the same solution as the project configuration that was clicked on.

Build all configurations of all projects in this solution

All project configurations are built if they are in the same solution as the project configuration that was clicked on.

Rebuild

A submenu is displayed.

Rebuild this project configuration

The project configuration that was clicked on to display the context menu is rebuilt.

Rebuild all project configurations

All project configurations for the project that was clicked on to display the context menu are rebuilt.

Rebuild all projects that have this configuration

All projects that have the project configuration that was clicked on to display the context menu are rebuilt.

Rebuild this configuration of all projects that have this project name

The project configuration that was clicked on to display the context menu are is rebuilt if they are in a project having the same project filename as the project configuration that was clicked on. (For example tabserv.vcxproj).

Rebuild all configurations of all projects that have this project name

All projects that have the project configuration that was clicked on to display the context menu are rebuilt if they are in a project having the same project filename as the project configuration that was clicked on.

(For example tabserv.vcxproj).

Rebuild this configuration of all projects in this solution

All projects that have the project configuration that was clicked on to display the context menu are rebuilt if they are in the same solution as the project configuration that was clicked on.

Rebuild all configurations of all projects in this solution

All project configurations are rebuilt if they are in the same solution as the project configuration that was clicked on.

Clean

A submenu is displayed.

Clean this project configuration

The project configuration that was clicked on to display the context menu is cleaned.

Clean all project configurations

All project configurations for the project that was clicked on to display the context menu are cleaned.

Clean all projects that have this configuration

All projects that have the project configuration that was clicked on to display the context menu are cleaned.

Clean this configuration of all projects that have this project name

The project configuration that was clicked on to display the context menu are is cleaned if they are in a project having the same project filename as the project configuration that was clicked on. (For example tabserv.vcxproj).

Clean all configurations of all projects that have this project name

All projects that have the project configuration that was clicked on to display the context menu are cleaned if they are in a project having the same project filename as the project configuration that was clicked on.

(For example tabserv.vcxproj).

Clean this configuration of all projects in this solution

All projects that have the project configuration that was clicked on to display the context menu are cleaned if they are in the same solution as the project configuration that was clicked on.

Clean all configurations of all projects in this solution

All project configurations are cleaned if they are in the same solution as the project configuration that was clicked on.

Touch Source Files and Header Files

Touch all source files, resource files and header files in this project.

Select all project configurations

All project configurations for the project that was clicked on to display the context menu are selected.

Deselect all project configurations

All project configurations for the project that was clicked on to display the context menu are deselected.

Delete

A submenu is displayed.

Delete > Build LogFile

The build log file for this project configuration is deleted.

Delete > Delete all project configuration Build Logfiles

All build log files for all project configurations of this project are deleted.

Filter

A submenu is displayed.

Filter > Filter this Configuration

This project configuration is added to the list of filtered project configurations. You can edit this list in the settings dialog.

Filter > Filter this Solution

This project configuration is added to the list of filtered solutions. You can edit this list in the settings dialog.

Filter > Filter this Project

This project configuration is added to the list of filtered projects. You can edit this list in the settings dialog.

Filter > Filter Errors and Warnings

This project configuration is added to the list of filtered warnings and errors. You can edit this list in the settings dialog.

View Build Command Line...

A submenu is displayed.

View Build Command Line > Build...

The build command line for project configuration that was clicked on to display the context menu is displayed.

View Build Command Line > Rebuild...

The rebuild command line for project configuration that was clicked on to display the context menu is displayed.

View Build Command Line > Clean...

The clean command line for project configuration that was clicked on to display the context menu is displayed.

View Build Logfile...

The build logfile for project configuration that was clicked on to display the context menu is displayed.

View Project Dependencies...

The project configuration dependencies for project configuration that was clicked on to display the context menu is displayed.

View Build Target...

The project configuration build target for project configuration that was clicked on to display the context menu is displayed.

Run Build Target...

The project configuration dependencies for project configuration that was clicked on to display the context menu is executed.

Edit Solution...

The solution file that own this project is opened in Notepad.

Open Solution in Visual Studio...

The solution file that owns this project is opened in Visual Studio.

Open Solution Folder...

The directory that contains the solution file that owns this project is opened in Windows Explorer.

Edit Project...

The project file that owns this project configuration is opened in Notepad.

Open Project in Visual Studio...

The project file that owns this project configuration is opened in Visual Studio.

Open Project Folder...

The directory that contains the project file that owns this project configuration is opened in Windows Explorer.

Reload Project

The project is reloaded from the original Microsoft Project file (.vcxproj, .vcproj, .dsp as appropriate).


Modifying the settings

Navigation: »No topics above this level«

Modifying the settings

 Return to chapter overview

To display the Settings dialog, choose the Settings... entry on the Edit menu.

The Settings dialog allows you to control the behaviour of Visual Studio Project Builder.


Search Directory

Navigation: Modifying the settings >

Search Directory

 Return to chapter overview

The Search Directory settings allow you to configure how Visual Studio Project Builder identifies projects that will be considered for building.

Directory

The directory that was most recently scanned (and which will be the default for the next scan) is shown in the Directory field. You can type a new directory name or the Microsoft directory chooser by clicking the Browse... button.

C++ Visual Studio 2017 - 2010

If you wish to identify C++ project files for Visual Studio 2017 - 2010 select the Process .vcxproj project files check box.

C++ Visual Studio 2008 - 2002

If you wish to identify C++ project files for Visual Studio 2008 - 2002 select the Process .vcproj project files check box.

If .vcproj project files have been upgraded to .vcxproj files, you may want to ignore them. Select the Ignore .vcproj... check box to do so.

C++ Visual Studio 6

If you wish to identify C++ project files for Visual Studio 6 select the Process .dsp project files check box.

If .dsp project files have been upgraded to .vcproj files, you may want to ignore them. Select the Ignore .dsp... check box to do so.

C#

If you wish to identify C# project files select the Process C# .csproj project files check box.

VB.Net

If you wish to identify VB.Net project files select the Process VB.Net .vbproj project files check box.

F#

If you wish to identify F# project files select the Process F# .fsproj project files check box.

J#

If you wish to identify J# project files select the Process J# .vjsproj project files check box.

Default settings

The default settings only consider projects with these extensions: .vcxproj, .csproj, .vbproj, .fsproj, .vjsproj.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Source File Extensions

Navigation: Modifying the settings >

Source File Extensions

 Return to chapter overview

The Source File Extensions settings allow you to configure how Visual Studio Project Builder identifies source files in a project.

The recognized source file extensions are displayed in the list.

To remove an item, select it then click Remove.

To clear the list, click Remove All.

To add an item, click the Add... button which will display the File Extension dialog.

To reset back to the default source file extensions, click the Set Defaults button.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Directory Filters

Navigation: Modifying the settings >

Directory Filters

 Return to chapter overview

The Directory Filters settings allow you to configure how Visual Studio Project Builder identifies solutions to process.

Directories that are listed in the Directory Filter are ignored by Visual Studio Project Builder when scanning for solutions to process.

To remove a directory, select it then click Remove.

To clear the list, click Remove All.

To add a directory, click the Add... button which will display a Microsoft Directory Browser to allow you to find and select a directory.

Any directories which no longer exist (they have been deleted, or moved, or renamed) will be displayed in red.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Solution Filters

Navigation: Modifying the settings >

Solution Filters

 Return to chapter overview

The Solution Filters settings allow you to configure how Visual Studio Project Builder identifies solutions to process.

Solutions that are listed in the Solution Filter are ignored by Visual Studio Project Builder when scanning for solutions to process.

To remove a solution, select it then click Remove.

To clear the list, click Remove All.

To add a solution, click the Add... button which will display a Microsoft File Browser to allow you to find and select a solution.

Any solutions which no longer exist (they have been deleted, or moved, or renamed) will be displayed in red.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Project Filters

Navigation: Modifying the settings >

Project Filters

 Return to chapter overview

The Project Filters settings allow you to configure how Visual Studio Project Builder identifies projects to process.

Projects that are listed in the Project Filter are ignored by Visual Studio Project Builder when scanning for projects to process.

To remove a project, select it then click Remove.

To clear the list, click Remove All.

To add a project, click the Add... button which will display a Microsoft File Browser to allow you to find and select a project.

Any projects which no longer exist (they have been deleted, or moved, or renamed) will be displayed in red.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Project Configurations

Navigation: Modifying the settings >

Project Configurations

 Return to chapter overview

The Project Configurations settings allow you to configure how Visual Studio Project Builder identifies project configurations to process.

Enable / Disable

When a project is loaded it is scanned to identify the project configurations within the project. Visual Studio Project Builder can set the initial state for each project configuration to be enabled (it will be built), or disabled (it won't be built).

You can set the default project configuration state using the Project configurations are enabled by default check box.

Ignored Configurations

It is inevitable that many projects will share the same configuration names (for example: Debug, Release).

However some projects will have special configurations that only make sense in the context of that project, or solution. Some other projects may have the same name for a configuration, but most will not.

There are some project configurations that although useful for the particular project, say, for testing, are not required for a global build.

The project configurations list allows us to list the project configurations that we are going to ignore. This can make managing the build process very much easier and faster.

To remove a project configuration, select it then click Remove.

To clear the list, click Remove All.

To add a project configuration, click the Add... button which will display the Configuration dialog. Enter the name for the project configuration to ignore and click OK.

To restore the default project configurations to ignore, click the Set Defaults button.

The default values are:

*Dev*

*Test*

*Internal*

*Template*

Debug6432|x64

Release6432|x64

Debug_X64|Win32

Release_X64|Win32

ESA Debug*

ESA Release*

*kernel-mode driver*

*Itanium*

*Sales*

*Without*

*BSU*

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Project

Navigation: Modifying the settings >

Project

 Return to chapter overview

The Project settings allow you to configure how Visual Studio Project Builder manages projects.

Reload

If you are repeatedly working with the same collection of projects you can request that these are automatically loaded each time you start Visual Studio Project Builder. Select the Reload projects next time... check box.

Project Delete

When working with projects, reordering them to get the correct builder order (assuming you aren't using the optimized build order) and deleting projects you aren't interested in building you can sometimes delete a project by accident.

If you'd like a confirmation dialog prior to deleting a project, select the Confirm project delete check box.

Project Sort Order

When projects are added to the collection of projects (see the Projects menu) Visual Studio Project Builder can change the order of the projects.

The sort options are:

·None. Projects will be in the order added to the collection.

·Optimized build order. Projects will be sorted according to their project dependencies, with projects that have satisfied dependencies built first.

·Alphabetic project name. Projects will be sorted by their project name.

·Alphabetic project file name. Projects will be sorted by their project file name.

We think the optimized build order is the most useful. This works best when all projects required for a build are present as it can then correctly satisfy the dependencies. If you are building some DLLs externally to using Visual Studio Project Builder, or you have third party libraries that are in use, you can improve the build dependency checking by listing the locations of the library files (.lib) in the Third Party Library Paths settings.

In the event that you choose a sort order that doesn't result in perfect build order and you need to modify the build order manually, you will need to enable the Up, Down, Delete controls using the Edit menu.

If you later wish to change the sort order the Projects menu has a Build order submenu that allows you to choose a sort order.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


MSBuild / Devenv

Navigation: Modifying the settings >

MSBuild / Devenv

 Return to chapter overview

The MSBuild / Devenv settings allow you to configure how Visual Studio Project Builder builds projects.

Visual Studio 2022 - Visual Studio 2008

All Visual Studio projects from Visual Studio 2008 onwards can be built into two ways: Using devenv.exe or using msbuild.exe. We have provided both options so that you can control how projects are build.

MSBuild

Using msbuild is generally faster than using devenv as msbuild only needs to load the project, setup the solution directory and build the appropriate configuration in that project.

Using msbuild also allows us to specify how many CPU cores can be used for the build. Choose the appropriate value from the combo box.

Devenv

Using devenv is generally slower than using MSBuild as devenv needs to load the specified solution then find the project in that solution and then build the appropriate configuration in that project. Devenv ultimately invokes msbuild to do the building of the project.

Visual Studio 2005 - Visual Studio 2002

All Visual Studio projects from Visual Studio 2002 to Visual Studio 2005 will be built using devenv.exe.

In theory Visual Studio 2005 projects can be built using msbuild.exe. However our tests have shown this to be unreliable, failing on some machines, working on others. In light of this for Visual Studio 2005 we will always build using devenv.exe, to ensure a reliable outcome.

Visual Studio 6

All Visual Studio 6 projects will be built by using msdev.exe.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Build Start / Stop

Navigation: Modifying the settings >

Build Start / Stop

 Return to chapter overview

The Build Start / Stop settings allow you to configure how Visual Studio Project Builder handles starting and stopping a build.

Build Start

When builds start they can sometimes fail immediately for reasons nothing to do with compiler errors or linker errors. Often this is because the particular tool needs to run with elevated permissions or some other reason.

Visual Studio Project Builder can warn you about both conditions.

Build Stop

A build often consists of more than one project configuration being built. You may wish to stop all builds if warning or error conditions are detected in any build of a project configuration. You can stop builds for the following conditions:

·Compiler warnings detected

·Compiler errors detected

·Linker errors detected

·Solution errors detected

Please note that warnings and errors that are filtered using the warning and error filters will not stop a build.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Build Repeat

Navigation: Modifying the settings >

Build Repeat

 Return to chapter overview

The Build Repeat settings allow you to configure when Visual Studio Project Builder will perform a repeat build after an initially unsuccessful build.

The Build Repeat settings allow you to control what happens if any builds fail to link successfully.

Non-optimized build order

If you have not optimized the build order, or the build order could not be optimized properly due to insufficient information to optimize the build, it is possible that the builds will complete but some will fail because they were dependent on a library that was not built at the time of the link, but the library was created later in the build process. Repeating the builds that failed to link will often cause these dependent builds to succeed. If you wish to repeat these builds, select the When all builds are complete... check box.

Compiler warnings

If there are compiler warnings in a build, you may wish to fail the build because you have a policy of "no warnings in any compile". If you wish to prevent such builds from being repeated select the Do not rebuild failed links if there are compiler warnings check box.

Compiler errors

If there are compiler errors in a build, repeating the build is pointless as it cannot possibly succeed. If you wish to prevent such builds from being repeated select the Do not rebuild failed links if there are compiler errors check box.

LNK1104

Some builds fail with a failure to create a map file error. Repeating these builds usually fixes this problem and the link will succeed. To repeat such builds immediately select the If a build fails with LNK1104... check box.

Build Service

Some builds fail because some projects don't like to be built with the build service. If a build fails when built with the build service we can automatically repeat the build without using the build service. This option doesn't apply to Visual Studio 6 on operating systems since Windows Vista because Visual Studio 6 needs admin rights. To repeat such builds immediately select the If a build fails with a build service error... check box.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Clean

Navigation: Modifying the settings >

Clean

 Return to chapter overview

The Clean settings allow you to configure how a build clean is performed.

The Clean settings allow you to control how a clean is performed.

·Visual Studio instructionStep Visual Studio controls which files get cleaned

·Visual Studio Project Cleaner instructionStep You control which files get cleaned

When Visual Studio Project Cleaner is selected a button is displayed which allows you to configure Visual Studio Project Cleaner's settings, allowing you to fine tune which files are cleaned and which are kept.

This can be useful for deleting all .tlog files, or deleting all .obj and .sbr but keeping the .dll and .exe files.

If Visual Studio Project Cleaner is not installed, the button will open a web page allowing you to download Visual Studio Project Cleaner.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Warning and Error Filters

Navigation: Modifying the settings >

Warning and Error Filters

 Return to chapter overview

The Warning and Error Filters settings allow you to configure how Visual Studio Project filters compiler and linker warning and error messages.

Warnings and Errors that are listed here are ignored by Visual Studio Project Builder when reading a build log file to provide build status information.

To remove a warning/error, select it then click Remove.

To clear the list, click Remove All.

To add a warning/error, click the Add... button which will display the warning and error filter dialog to allow you to edit the definition.

To edit a warning/error, click the Edit... button which will display the warning and error filter dialog to allow you to edit the definition.

To restore the default warnings and errors to ignore, click the Set Defaults button.

The default values are:

A4018 | warning: invalid command-line option : /safeseh
C4467 | warning: usage of ATL attributes is deprecated
C4748 | warning: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
LNK4042 | warning: object specified more than once; extras ignored
LNK4070 | warning: /OUT:????.dll directive in .EXP differs from output filename '.\Release|Debug\????.dll'; ignoring directive
LNK4075 | warning: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification
LNK4098 | warning: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
LNK4099 | warning: PDB 'corguids.pdb' was not found with 'corguids.lib' linking object as if no debug info
MSB3073 | error: The command ??????? failed
MSB8004 | warning: Intermediate Directory does not end with a trailing slash
MSB8012 | warning: TargetPath does not match the Linker's OutputFile property value
RC1107 | error: invalid usage; use RC /? for Help

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Colours

Navigation: Modifying the settings >

Colours

 Return to chapter overview

The Colours settings allow you to configure how Visual Studio Project Builder assigns colours to different build statuses.

The main user interface displays the build status using colour. This allows you to glance at the display from across the room and know if there is a problem with the the build or not.

For each colour, you can type a colour name or a hexadecimal RGB colour number (prefixed with #), or use the combo box to choose a predefined colour name, or you can click Edit... to use the Microsoft Colour Chooser dialog.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Visual Studio Paths

Navigation: Modifying the settings >

Visual Studio Paths

 Return to chapter overview

The Visual Studio Paths settings allow you to configure how Visual Studio Project Builder identifies different versions of Visual Studio.

The Visual Studio Paths listed for each Visual Studio version, the name, version number, whether a service will need to be used to run the build and the path to the Visual Studio.

The image above shows that the machine has 4 versions of Visual Studio (2005, 2008, 2010, 2012) installed, and that all have been configured for use with the Build Service.

Enable / Disable

You can enable or disable any installed version by clicking the check box in the Name column of the grid.

Service

You can choose whether a service is used to run the build or if the tool runs in the same account as Visual Studio Project Builder by toggling the check box in the Service column of the grid.

Typically on Windows Vista and later, Visual Studio 6 needs admin rights to perform correctly. The easiest way to do this is to run the Visual Studio 6 builds via a service. That is why Visual Studio 6 builds default to running with a service.

All other versions of Visual Studio default to running on the current user account.

Edit

These values are determined automatically, but should you need to change a path, because of a mistake or an alternate installation has been made (*) you can edit the path by clicking the appropriate Edit... link to browse for the correct location using the Microsoft File Browser.

The paths listed in this section are also used to do the following actions:

·Set the correct environment variables when performing a build, using the vcvars32.bat and vcvars64.bat file.

·Find the appropriate Microsoft .lib files when determining build depenencies for optimizing the build order.

* Alternate installations are typically required to install Visual Studio 6, Visual Studio 2002 on recent versions of Windows.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


3rd Party Library Paths

Navigation: Modifying the settings >

3rd Party Library Paths

 Return to chapter overview

The 3rd Party Library Paths settings allow you to configure how Visual Studio Project Builder identifies third party libraries.

When Visual Studio Project Builder is optimizing the project build order, it needs to identify libraries that are not part of the build process, but which are supplied by Microsoft and by third party software vendors. The Visual Studio Paths part of the settings dialog supplies (indirectly) the paths for the Microsoft libraries. For third party libraries, the paths to these also need to be provided. That is the purpose of the Third Party Library Paths settings.

To remove a library path, select it then click Remove.

To clear the list, click Remove All.

To add a library path, click the Add... button which will display a Microsoft Directory Browser to allow you to find and select a directory.

To edit a library path, select it then click the Edit... button which will display a Microsoft Directory Browser to allow you to find and select a directory.

Any library paths which no longer exist (they have been deleted, or moved, or renamed) will be displayed in red.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Email

Navigation: Modifying the settings >

Email

 Return to chapter overview

The Email settings allow you to configure how Visual Studio Project Builder uses email to announce the completion of builds

If you wish to be send build notifications via email select the Send build notifications... check box.

If you'd like a more detailed notification email select the Provide detailed notification check box.

Enter the email address to send notifications to in the email address field.

Configuring Email

To send email, Visual Studio Project Builder needs to know which email server to use. Click the Configure email server... button. The Email Configuration dialog is displayed.

Email is sent using SMTP, enter your SMTP credentials in the appropriate fields and click OK.


Text Messages

Navigation: Modifying the settings >

Text Messages

 Return to chapter overview

The Text Message settings allow you to configure how Visual Studio Project Builder uses text messages (SMS) to announce the completion of builds

If you wish to be send build notifications via email select the Send build notifications... check box.

To send text build notifications you need a sending phone number and the phone number of the mobile (cell) phone that will receive the text message.

Visual Studio Project Builder uses Twilio to send text messages. Because of this your sending phone number will need to be purchased from Twilio (this costs $1 per month, although you can get your first number for free as part of the Twilio evaluation).

Enter your twilio number (with the leading + symbol) into the Sending phone number field.

Enter the recipient phone number (your phone, perhaps?) into the Recipient phone number field. Remember to include the leading + symbol and your country code.

Phone numbers

Please note: Do not use the numbers shown above. The recipient is a fake number. The sender is a genuine Twilio number, but it is assigned to a particular account - you need your own twilio number to use.

Configure Twilio

To send text messages, Visual Studio Project Builder needs to know which Twilio credentials to use. Click the Configure Twilio... button. The Twilio Login Details dialog is displayed.

Enter your Twilio Account SID in the first field and your Twilio Auth Token in the second field. Click OK.

Getting a phone number from Twilio

·Go to https://www.twilio.com

·Register for a trial account

·Then go to https://www.twilio.com/console/phone-numbers/getting-started and click the Manage Phone Numbers link.

·This will show you the phone numbers that you have, or if there are no phone numbers it will prompt you to purchase a phone number. Your first phone number is free (at the time of writing) during your trial of Twilio.

Finding your Twilio Account SID and Auth Token

·Go to https://www.twilio.com

·Login to your account

·On the dashboard you will see your account summary

·Your Account SID and Auth Token are displayed in the Account Summary.

·To reveal the value of the Auth Token click the eye symbol once.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


Speech

Navigation: Modifying the settings >

Speech

 Return to chapter overview

The Speech settings allow you to configure how Visual Studio Project Builder uses speech synthesis to announce the completion of builds.

If you wish to be send build notifications via email select the Announce build notifications... check box.

Specify the speech synthesiser using the Use this speech synthesiser field. Type the file name or use the Microsoft File Browser by clicking the Browse... button.

You can add any extra arguments to customize the speech synthesiser using the Additional speech synthesiser arguments field. For the speech synth say.exe there are no additional arguments.

Test the speech synthesiser by typing a test phrase then clicking Test Speech.

Reset

The Reset button will cause the settings on all parts of the settings dialog to be reset.


How to use Visual Studio Project Builder

Navigation: »No topics above this level«

How to use Visual Studio Project Builder

 Return to chapter overview

The basic principle behind Visual Studio Project Builder is that it allows you to:

·Manage many projects together in one collection, even if those projects have the same name (something you can't do with a Visual Studio Solution).

·Allow you to easily, build, rebuild or clean these projects.

·Allow you to automatically repeat build a failing build so that it may succeed on the second attempt (something that does happen with Visual Studio).

·Allow you to apply filters so that you can ignore various warnings and errors that are not important.

·Provide visual, at a glance, build progress, even from across the room.

·Allow you to be notified when a build completes. These is very useful when dealing with long running builds - you can use your time more effectively - do marketing, read a book, go for a walk, without worrying "has it finished yet?".

All of these things make building software faster, easier, less error prone and less stressful.

The main tasks involved in using Visual Project Builder are to:

·Create a collection of projects.

·Build, rebuild and clean projects.

·Filter any unwanted solutions, projects and project configurations.

·Filter any warnings or errors that are not relevant

·Examine build log files

·Manage the results of the builds.

That's what we'll cover in the following topics.


Creating a collection of projects to build

Navigation: How to use Visual Studio Project Builder >

Creating a collection of projects to build

 Return to chapter overview

Collections are groups of projects (not unlike a Visual Studio solution), except that they can include multiple projects with the same name.

The first task you face is building the collection of projects. You can do that two ways:

·Adding projects from individual solutions

·Scanning directories for solutions and adding the projects referenced in the solutions

Depending on your directory structure and how you manage your projects/solutions, one method may work better for you than the other.

You can mix both scanning directories and adding individual solutions to create a collection. There is no requirement to use only one method to create a collection.

Add projects from a solution

Use the following steps to add projects from a solution to a collection.

1. Choose the Add Projects in Visual Studio Solution... option on the Projects menu.

The Microsoft file browser will be displayed. Choose a solution to load.

2. All projects in the solution will be loaded and displayed.

Any projects identified by the project filters will be ignored.

Any project configurations identified by the project configuration filters will be ignored.

Individual project configurations will be enabled as per the project configuration default enable settings.

Repeat the above steps for additional solutions until all the solutions you wish to process have been added.

Add projects from a directory hierarchy

Use the following steps to add projects from a directory hierarchy to a collection.

1. Choose the Scan all Visual Studio Solutions in Directory... option on the Projects menu.

The Scan Directories dialog will be displayed

Type the directory path or click Browse... to use the Microsoft directory browser to choose the directory.

2. The directory hierarchy you have specified will be scanned for solutions.

During the scan a progress dialog is displayed.

3. All projects in each solution will be loaded.

Any projects identified by the project filters will be ignored.

Any project configurations identified by the project configuration filters will be ignored.

Individual project configurations will be enabled as per the project configuration default enable settings.

4. When the scan is complete you need to confirm that you wish to add the projects to the collection.

OK to add the projects. Cancel to discard the projects.

5. If you confirmed adding these projects to the collection, the projects will be added, sorted according any build order preference you have specified, then displayed on the main user interface.

Repeat the above steps for additional directory hierarchies until all the solutions you wish to process have been added.

Naming your collection of projects

Once you have created a collection of projects you may find it useful to give it a name.

Choose the Collection Name... option on the Projects menu.

The Collection Name dialog will be displayed.

Enter the name for your collection then click OK.

Saving your collection of projects

To save your collection of projects choose the Save Project Builder file... option on the File menu.

Loading an existing collection of projects

To load a previously saved collection of projects choose the Open Project Builder file... option on the File menu.

Starting over

To remove all projects and start again, choose the Close option on the File menu.


Building, rebuilding, cleaning, and stopping builds

Navigation: How to use Visual Studio Project Builder >

Building, rebuilding, cleaning, and stopping builds

 Return to chapter overview

The main task of Visual Studio Project Builder is the building of projects. That's what we're going to discuss in this topic.

Build Order

All projects added to a collection are sorted according to the build order settings.

However, you may wish to change the build order.

To change the build order you need the Build Order submenu on the Projects menu.

Sort the projects by optimized build order, project name or project file path. Optimized build order sorts the projects so that as many dependencies as possible are satisfied before a project is built.

Building, rebuilding and cleaning

There are three ways to build projects. You can build an individual project configuration, build all project configurations inside a project, and build all project configurations of all projects. We're going to cover these by dealing with the three different group operations rather than the three different tasks.

All Projects

Whether you are building, rebuilding or cleaning all projects, the basic behaviour is the same. You are shown a build progress dialog which overlays the main user interface. The user interface will update each project configuration's status as it is built (or rebuilt, or cleaned). At the same time the build progress dialog also keeps track of the state of the build for all project configurations.

The image shows the following:

Name of solution (cvExample_VS10_0)

Name of project (cvexample_vs10_0.vcxproj) and the project configuration (Release Non Link ANSI|Win32)

The top coloured bar shows the progress of building this project configuration.

The bottom coloured bar shows the progress of building all the projects and project configurations.

The colours are defined by the colour settings.

Underneath this there are statistics about

·how many project configurations are being built (1354)

·how many have been build (41)

·how many have compiler warnings (0)

·how many failed with compiler errors (0)

·how many failed with linker errors (0)

·how many failed with solution errors (0)

An elapsed time indicator shows you how long this has been in progress. Not so useful for short builds, but for longer builds, knowing that a task took 4 hours 35 minutes to build 930 project configurations can be useful information for next time you come to do repeat that build (that's a half a day you can schedule to do something else without paying attention to the computer or having to start one solution after another has completed).

Lastly there are two buttons:

·One stops all builds in progress.

·The other one will pause a build (any build in progress will continue, but no new builds will be started) or un-pause any paused build.

Build All Projects

To build all projects, choose Build All from the Projects menu.

All project configurations in all projects will be built.

Rebuild All Projects

To rebuild all projects, choose Rebuild All from the Projects menu.

All project configurations in all projects will be rebuilt.

Clean All Projects

To clean all projects, choose Clean All from the Projects menu.

All project configurations in all projects will be cleaned.

Selecting all Projects

To select all projects, choose Select All from the Projects menu.

All project configurations in all projects will be enabled.

Deselecting all Projects

To deselect all projects, choose Deselect All from the Projects menu.

All project configurations in all projects will be disabled.

All Project Configurations

To build, rebuild or clean all project configurations of a project right click on any project configuration for that project. A context menu will be shown.

The first five options relate to all of a project's project configurations. Choose from options on the Build, Rebuild and Clean submenus, or Select All or Deselect All as appropriate.

To build all project configurations, choose the second option on the Build submenu.

To rebuild all project configurations, choose the second option on the Rebuild submenu.

To clean all project configurations, choose the second option on the Clean submenu.

To touch all files in the project, choose the first option on the Touch submenu.

Please note that the Build Progress dialog is not displayed. You will be able to see the progress of this project's project configurations building on the main user interface.

Individual Project Configuration

To build, rebuild or clean an individual project configuration right click on the project configuration. A context menu will be shown.

The first three items on the menu relate to individual project configurations. Choose Build, Rebuild or Clean as appropriate.

To build this project configurations, choose the first option on the Build submenu.

To rebuild this project configurations, choose the first option on the Rebuild submenu.

To clean this project configurations, choose the first option on the Clean submenu.

Please note that the Build Progress dialog is not displayed. You will be able to see the progress of this project configuration's build on the main user interface.

Stopping a build

If you need to stop a build, choose Stop Build on the Projects menu.

All builds will be stopped.


Filtering builds and build results

Navigation: How to use Visual Studio Project Builder >

Filtering builds and build results

 Return to chapter overview

Reducing the number of projects to build

It's inevitable that as you add projects to your collection you may find that some of the solutions, projects or project configurations are not required for the collection you are creating.

This is especially true if you are acquiring projects by scanning a disk hierarchy and processing every solution that you find.

To help address this we've provided solution filters, project filters, and project configuration filters.

We've also provided some context menu options that will make adding a solution, project or project configuration to a filter very easy.

Solution filtering

Right click on any row that is related to the solution you wish to filter. A context menu will be displayed. Choose the Filter submenu,

then choose Filter this Solution.

The solution is added to the list of solutions filters. All projects in this solution are removed from the main user interface.

Project filtering

Right click on the row that identifies the project you wish to filter. A context menu will be displayed. Choose the Filter submenu,

then choose Filter this Project.

The project is added to the list of project filters. This project is removed from the main user interface.

Project configuration filtering

Right click on the project configuration you wish to filter. A context menu will be displayed. Choose the Filter submenu.

then choose Filter this Configuration.

The project configuration is added to the list of project configuration filters. This project configuration is removed from the main user interface.

Cleaning up the build status

After a build you may find some compiler warnings or linker warnings that you wish to ignore. Warnings about an incorrect trailing slash in a project configuration may not be worth your while fixing (especially when Visual Studio fixes them for you automatically). Additionally there are a few linker errors that you can safely ignore (your binary still gets built). Also, you may be choosing to build some third party software (open source perhaps) that compiles and links with various warnings and which you don't wish to modify.

For all of these reasons you may wish to filter out these particular warnings and errors so that you can actually witness warnings and errors that you do care about.

That's why we have the warnings and error filter.

Right click on the project configuration you wish to filter. A context menu will be displayed. Choose the Filter submenu.

then choose Filter Errors and Warnings.

The Warnings and Errors Filter Chooser is displayed.

The image above shows two errors and one warning.

The warning is unimportant and can be filtered.

The errors however are serious and should not be filtered. These should be disabled so that they are not added to the list of filters.

Once you have finished reviewing the warnings and errors, click OK to add the enabled filters to the list of warnings and error filters.


Build log files

Navigation: How to use Visual Studio Project Builder >

Build log files

 Return to chapter overview

Build Log Files

Deleting all build log files

To delete all build log files choose Delete All Build Logfiles on the Projects menu.

All build log files for all project configurations will be deleted.

Deleting a project's build log files

To delete build log files for all of a project's project configurations, right click on the project configuration then go to the Delete submenu,

then choose Delete all project configuration Build Logfiles.

All build log files for all of this project's project configurations will be deleted.

Delete a build log file

To delete an individual project configuration's build log file, right click on the project configuration then go to the Delete submenu,

then choose Delete Build Logfile.

The build log file for this project configurations will be deleted.

Viewing a build log file

To view an individual project configuration's build log file, right click on the project configuration then choose View Build Logfile....

The log file is opened in Notepad.

You can read the logfile looking for warnings and errors and other conditions.

Please note that the logfile produced by Devenv is much simpler and easier to read than the logfile produced by msbuild.

An alternative way of viewing logfile warnings and errors

An alternative way of viewing a project configuration's warnings and errors is to use the warnings and error filter, but then cancel the dialog so that you don't add the filters it shows you.

Right click on the project configuration you wish to filter. A context menu will be displayed. Choose the Filter submenu.

then choose Filter Errors and Warnings.

The Warnings and Errors Filter Chooser is displayed.

Once you have finished viewing the warnings and errors, click Cancel to dismiss the dialog.


Diagnostics

Navigation: How to use Visual Studio Project Builder >

Diagnostics

 Return to chapter overview

Sometimes things aren't working quite as expected. You may go looking for the answer in the Build Logfile. But if that doesn't help, where else can you look?

Command Line

To view the command for a project configuration, right click on the project configuration and choose View Build Command Line....

A submenu is displayed.

Choose the type of command line you wish to view. The Command Line dialog is displayed.

The dialog shows you the project file name and the project configuration.

The first text window is the command line executed by Visual Studio Project Builder. This starts a batch file which executes the appropriate Visual Studio batch file to setup the correct environment variables for that Visual Studio and for the platform (x86 vs x64). The top copy button copies this command line to the clipboard so that you can paste it into a command prompt or notepad if necessary.

The second text window is the contents of the batch file that will be executed by the command line.

The lower copy button copies this the batch file contents to the clipboard so that you can paste it into a command prompt or notepad if necessary.

If a build is failing for reasons that make no sense you can often identify the reason by seeing the output on a command prompt. This is very useful for diagnosing builds that don't start properly.

Project Dependencies

To view the project dependencies for a project, right click on any project configuration and choose View Project Dependencies....

The Dependencies dialog is displayed.

This dialog shows all dependencies that the project has.

Build Target

The build target is the executable file created by building the project configuration.

View Build Target

To view the build target for a project configuration, right click on the project configuration and choose View Build Target....

The Build Target dialog is displayed.

Run Build Target

To run the build target for a project configuration, right click on the project configuration and choose Run Build Target....

The Build Target dialog is executed.

Solution

Sometimes you may wish to load the project's solution into Visual Studio, to examine something, perform a local build, or change something. We've added some options to make that easier.

Edit Solution

To edit the solution that owns a project, right click on any project in that solution and choose Edit Solution....

The solution is opened in Notepad.

Open Solution in Visual Studio

To open the solution that owns a project in Visual Studio, right click on any project in that solution and choose Open Solution in Visual Studio....

The solution is opened in the version of Visual Studio that matches the solution file.

Open Solution Folder

To view the folder that is the location of the solution that owns a project, right click on any project in that solution and choose Open Solution Folder....

The folder that contains the solution is opened in Microsoft Explorer.

Project

Sometimes you may wish to load the project into Visual Studio, to examine something, perform a local build, or change something. We've added some options to make that easier.

Edit Project

To edit the project, right click on any project configuration and choose Edit Project....

The project is opened in Notepad.

Open Project in Visual Studio

To open the project in Visual Studio, right click on any project configuration and choose Open Project in Visual Studio....

The project is opened in the version of Visual Studio that matches the project file.

Open Project Folder

To view the folder that is the location of the project, right click on any project configuration and choose Open Project Folder....

The folder that contains the project is opened in Microsoft Explorer.


Command line interface

Navigation: »No topics above this level«

Command line interface

 Return to chapter overview

Visual Studio Project Builder provides a command line user interface to allow you to automate building projects.

Example 1

Load an existing collection of projects from e:\allProjects.vspb and build each project.

VisualStudioProjectBuilder.exe /loadProjects e:\allProjects.vspb /build

Example 2

Load an existing collection of projects from e:\allProjects.vspb and rebuild each project.

VisualStudioProjectBuilder.exe /loadProjects e:\allProjects.vspb /rebuild

Example 3

Load an existing collection of projects from e:\allProjects.vspb and clean each project.

VisualStudioProjectBuilder.exe /loadProjects e:\allProjects.vspb /clean


Build notifications

Navigation: Command line interface >

Build notifications

 Return to chapter overview

By Email

Please note that the configuration of the email server details must be setup via the graphical user interface. It cannot be setup from the command line.

/sendBuildNotificationByEmail

Enable the sending of a build notification by email.

Examples:

/sendBuildNotificationByEmail:On

/sendBuildNotificationByEmail:Off

/sendDetailedBuildNotificationByEmail

Enable the sending of a detailed build notification by email.

Examples:

/sendDetailedBuildNotificationByEmail:On

/sendDetailedBuildNotificationByEmail:Off

/buildNotificationEmailAddress

Specify the email address to send build notifications to

Examples:

/buildNotificationEmailAddress joe.bloggs@gmail.com

/buildNotificationEmailAddress joe@bloggs.com

By Speech

Please note that the configuration of the speech engine must be setup via the graphical user interface (or you can use the system defaults). It cannot be setup from the command line.

/sendBuildNotificationBySpeech

Enable the build notifications using speech.

Examples:

/sendBuildNotificationBySpeech:On

/sendBuildNotificationBySpeech:Off

By Text Message

Please note that the configuration of the Twilio account details must be setup via the graphical user interface. It cannot be setup from the command line.

/sendBuildNotificationByTextMessage

Enable the sending of a build notification by email.

Examples:

/sendBuildNotificationByTextMessage:On

/sendBuildNotificationByTextMessage:Off

/buildNotificationSourcePhoneNumber

Enable the sending of a detailed build notification by email.

Examples:

/buildNotificationSourcePhoneNumber +441133209879

/buildNotificationDestPhoneNumber

Specify the email address to send build notifications to

Examples:

/buildNotificationDestPhoneNumber +445907254168


Projects and Solutions

Navigation: Command line interface >

Projects and Solutions

 Return to chapter overview

Searching for Projects

/dir

Specify the directory hierarchy to search for solutions that contain projects.

If the name contains spaces, it should be quoted.

Examples:

/dir e:\om\c\testApps

/dir "e:\om\c\dev workspace\mainBuild"

C++, Visual Studio 2010, 2012, 2013, 2015, 2017

/vcxproj

Enabling the processing of project files with the file extension .vcxproj.

Examples:

/vcxproj:On

/vcxproj:Off

C++, Visual Studio 2002, 2003, 2005, 2008

/vcproj

Enabling the processing of project files with the file extension .vcproj.

Examples:

/vcproj:On

/vcproj:Off

C++, Visual Studio 6

/dsp

Enabling the processing of project files with the file extension .dsp.

Examples:

/dsp:On

/dsp:Off

C#, Visual Studio

/csproj

Enabling the processing of project files with the file extension .csproj.

Examples:

/csproj:On

/csproj:Off

F#, Visual Studio

/fsproj

Enabling the processing of project files with the file extension .fsproj.

Examples:

/fsproj:On

/fsproj:Off

VB.Net, Visual Studio

/vbproj

Enabling the processing of project files with the file extension .vbproj.

Examples:

/vbproj:On

/vbproj:Off

J#, Visual Studio

/vjsproj

Enabling the processing of project files with the file extension .vjsproj.

Examples:

/vjsproj:On

/vjsproj:Off

Building Projects

/loadProjectsThatCantBeBuilt

Enable the processing of projects that cannot be built on this machine.

Examples:

/loadProjectsThatCantBeBuilt:On

/loadProjectsThatCantBeBuilt:Off

/reloadProjects

Enable the reloading of projects that were in use last time Visual Studio Project Builder ran

Examples:

/reloadProjects:On

/reloadProjects:Off

/confirmProjectDelete

Enable the confirmation of deleting a project.

Examples:

/confirmProjectDelete:On

/confirmProjectDelete:Off

/warnWhenBuildFailsDueToAdminRights

Enable the warning when a build fails due to needing administrator privileges to run.

Examples:

/warnWhenBuildFailsDueToAdminRights:On

/warnWhenBuildFailsDueToAdminRights:Off

/warnWhenBuildFails

Enable the warning when a build fails.

Examples:

/warnWhenBuildFails:On

/warnWhenBuildFails:Off

/buildProjectsThatFailedToLink

Enable the performing a repeat build for projects that failed to link.

Examples:

/buildProjectsThatFailedToLink:On

/buildProjectsThatFailedToLink:Off

/buildIfThereAreCompilerWarnings

Enable the repeat building if there are compiler warnings.

Examples:

/buildIfThereAreCompilerWarnings:On

/buildIfThereAreCompilerWarnings:Off

/buildIfThereAreCompilerErrors

Enable the repeat building if there are compiler errors.

Examples:

/buildIfThereAreCompilerErrors:On

/buildIfThereAreCompilerErrors:Off

/stopBuildAllWhenCompilerWarning

Enable the stopping a build when there are compiler warnings.

Examples:

/stopBuildAllWhenCompilerWarning:On

/stopBuildAllWhenCompilerWarning:Off

/stopBuildAllWhenCompilerError

Enable the stopping a build when there are compiler errors.

Examples:

/stopBuildAllWhenCompilerError:On

/stopBuildAllWhenCompilerError:Off

/stopBuildAllWhenLinkerError

Enable the stopping a build when there are linker warnings.

Examples:

/stopBuildAllWhenLinkerError:On

/stopBuildAllWhenLinkerError:Off

/loadProjects

Load all projects stored in a Visual Studio Project Builder file.

Examples:

/loadProjects e:\allProjects.vspb

/loadProjects "e:\projects 2017\allProjects.vspb"


Project build

Navigation: Command line interface >

Project build

 Return to chapter overview

Build Order

/sortProjectsNone

Do not sort projects.

/sortProjectsOptimize

Sort projects to optimize the project build order.

/sortProjectsProjectName

Sort projects by project name.

/sortProjectsFileName

Sort projects by project file name.

Building

/build

Build all enabled projects.

Examples:

/build

/rebuild

Rebuild all enabled projects.

Examples:

/rebuild

/clean

Clean all enabled projects.

Examples:

/clean

/touch

Touch all source files, resource files and header files in all projects.

Examples:

/touch

/buildProject

Specify the Visual Studio project to build.

If the name contains spaces, it should be quoted.

Examples:

/buildProject e:\om\c\testApps\testApps.vcxproj

/buildProject "e:\om\c\dev workspace\testApps.vcxproj"

Related options

This option is best used with /loadSettings to load the settings you wish to use to build the solution, or with /resetSettings to use the default settings to build the solution.

Alternatively you can specify individual project file types to build in the project:

/vcxproj

/vcproj

/dsp

/csproj

/fsproj

/vbproj

/vjsproj

Batch file usage

start /wait "Build TestApps" "C:\Program Files (x86)\Software Verify\Visual Studio Project Builder\visualStudioProjectBuilder.exe" /resetSettings /buildProject "e:\om\c\testApps\testApps.vcxproj"

This line in the batch file does this:

·starts Visual Studio Project Builder

·resets the settings to the default

·loads e:\om\c\testApps\testApps.vcxproj

·builds all configurations of the project (which configurations are controlled by the settings - you can change this by using /loadSettings)

·closes Visual Studio Project Builder

·the batch file waits for Visual Studio Project Builder before executing the next statement in the batch file


Solution build

Navigation: Command line interface >

Solution build

 Return to chapter overview

Build Visual Studio solution

/buildSolution

Specify the Visual Studio solution to build.

If the name contains spaces, it should be quoted.

Examples:

/buildSolution e:\om\c\testApps\testApps.sln

/buildSolution "e:\om\c\dev workspace\testApps.sln"

Related options

This option is best used with /loadSettings to load the settings you wish to use to build the solution, or with /resetSettings to use the default settings to build the solution.

Alternatively you can specify individual project file types to build in the solution:

/vcxproj

/vcproj

/dsp

/csproj

/fsproj

/vbproj

/vjsproj

Batch file usage

start /wait "Build TestApps" "C:\Program Files (x86)\Software Verify\Visual Studio Project Builder\visualStudioProjectBuilder.exe" /resetSettings /buildSolution "e:\om\c\testApps\testApps.sln"

This line in the batch file does this:

·starts Visual Studio Project Builder

·resets the settings to the default

·loads e:\om\c\testApps\testApps.sln

·builds all configurations of all projects in the solution (which projects and configurations are controlled by the settings - you can change this by using /loadSettings)

·closes Visual Studio Project Builder

·the batch file waits for Visual Studio Project Builder before executing the next statement in the batch file


Project configurations

Navigation: Command line interface >

Project configurations

 Return to chapter overview

/setDefaultProjectConfigurationFilters

Set the default project configuration filters. The default values are listed here.

/deleteAllProjectConfigurationFilters

Delete all project configuration filters.

/addFilteredProjectConfiguration

Add a filter to the list of project configuration filters.

Examples:

/addFilteredProjectConfiguration "dev"

/addFilteredProjectConfiguration wobble


Settings

Navigation: Command line interface >

Settings

 Return to chapter overview

/resetSettings

Reset all the settings to the default values, except for the following items (Email server configuration, Twilio configuration, Colours, Visual Studio Paths).

Examples:

/resetSettings

/loadSettings

Load settings from a file. These settings override all settings currently in force, including any command line arguments specified earlier on the command line that affect settings.

If in doubt, load your settings first then modify values later on the command line.

Examples:

/loadSettings c:\mysettings\settings.vspbs

/loadSettings "e:\my settings\settings.vspbs"

/help

Display help information on the command line.

Examples:

/help

/?

Display help information on the command line.

Examples:

/?


Source file extensions

Navigation: Command line interface >

Source file extensions

 Return to chapter overview

/addSourceFileExtension

A source file extension will be added to the list of source file extensions.

Examples:

/addSourceFileExtension c

/addSourceFileExtension cpp

/deleteAllSourceFileExtensions

All source file extensions will be deleted.

/setDefaultSourceFileExtensions

The source file extensions are set to the default.


User interface

Navigation: Command line interface >

User interface

 Return to chapter overview

/hideUI

Hide the user interface.

/showUI

Show the user interface.


Command Line Reference

Navigation: Command line interface >

Command Line Reference

 Return to chapter overview

Command line reference

The following alphabetical list provides a convenient look-up for all the command line arguments.

Option | Description
/? | Display the help message on the command line
/addFilteredProjectConfiguration | Add a filter to the project configuration filters
/build | Build all enabled project configurations
/buildIfThereAreCompilerErrors | Enable or disable repeat building if there are compiler errors
/buildIfThereAreCompilerWarnings | Enable or disable repeat building if there are compiler warnings
/buildNotificationEmailAddress | Set email address to send build notifications to
/buildNotificationDestPhoneNumber | Set the destination phone number for sending build notifications by text message
/buildNotificationSourcePhoneNumber | Set the source phone number for sending build notifications by text message
/buildProjectsThatFailedToLink | Enable or disable the repeat building of projects that failed to link
/buildProject | Load this solution and build all projects and configurations
/buildSolution | Load this project and build all configurations
/clean | Clean all enabled project configurations
/confirmProjectDelete | Enable or disable the display of a confirmation dialog when deleting a project
/deleteAllProjectConfigurationFilters | Delete all project configuration filters
/deleteAllSourceFileExtensions | Delete all source file extensions
/dir | Specify the directory to search. Used with /projects and /solutions.
/dsp | Load .dsp projects when scanning solutions
/help | Display the help message on the command line
/hideUI | Hide the user interface
/loadProjectsThatCantBeBuilt | Enable or disable the loading of projects that can't be built
/loadProjects | Load a collection of projects from a Visual Studio Project Builder file.
/loadSettings | Load settings from a Visual Studio Project Builder settings file
/rebuild | Rebuild all enabled project configurations
/reloadProjects | Enable or disable the loading of previously loaded projects on startup
/resetSettings | Reset most of the settings (except for email, twilio, colours, Visual Studio paths)
/setDefaultSourceFileExtensions | Set default source file extensions
/sendBuildNotificationByEmail | Enable or disable the sending of a build notification by email
/sendBuildNotificationByTextMessage | Enable or disable the sending of a build notification by text message
/sendDetailedBuildNotificationByEmail | Enable or disable the sending of a detailed build notification by email
/setDefaultProjectConfigurationFilters | Set the default project configuration filters
/setDefaultSourceFileExtensions | Set the default source file extensions
/showUI | Show the user interface
/sortProjectsFileName | Sort projects by project filename
/sortProjectsNone | Do not sort projects
/sortProjectsOptimized | Sort projects by optimized build order
/sortProjectsProjectName | Sort projects by project name
/stopBuildAllWhenCompilerError | Enable or disable stopping of builds when there is a compiler error
/stopBuildAllWhenCompilerWarning | Enable or disable stopping of builds when there is a compiler warning
/stopBuildAllWhenLinkerError | Enable or disable stopping of builds when there is a linker error
/touchHeader | Touch all header files in all projects
/touchSource | Touch all source and resource files in all projects
/touchSourceAndHeader | Touch all source, resource and header files in all projects
/vcproj | Load .vcproj projects when scanning solutions
/vcxproj | Load .vcxproj projects when scanning solutions
/warnWhenBuildFails | Enable or disable warning when a build fails to start
/warnWhenBuildFailsDueToAdminRights | Enable or disable warning when a build fails to start due to admin rights

Run visualStudioProjectBuilder.exe with the above command line arguments.