Project Configurations (as a part of Build Configurations) provide a way to store multiple versions of project properties. The active configuration can be quickly accessed and changed, allowing developer to easily build multiple configurations of the same project.
By default Visual Studio provides two predefined configurations: Debug and Release. User can create additional configurations with Configuration Manager.
Configuration Manager dialog box can be opened with menu command Build -> Configuration Manager or with the Configuration Manager command in the solution context menu in Solution Explorer. Using whis window configuration can be changed for entire solution (Active solution configuration combo box) or for some projects individually (combo box in the Configuration column of the grid). Any configuration combo box has two special items <New...> and <Edit...>. These items are used to create and/or edit custom configurations. When <New...> is selected the New Configuration window appears.
User should input new configuration's name and optionally specify other configuration which settings will be copied to the new one (Copy settings from combo box). The check box Create new project configurations should be checked to create new equaly named project configurations along with new solution configuration.
Remark: New Configuration windows for solution and project are slightly different indeed. Solution configuration window operates solution configurations and allows to propagate new configuration to projects. On the contrary, project configuration window deals with project configurations and propagates them to solution.
Another useful thing that can be done using Configuration Manager is the selective build ability. User can uncheck some check boxes in the Build column of the Configuration Manager window grid. The IDE wil not try to compile unchecked projects, so it is possible to avoid compiling projects containing errors without excluding them from the solution.
Configuration-dependant Project Options
To take advantage of multiple project configuartions we should use Project Options window. Notice Build and Debug pages. Unlike other pages, the Configuration and Platform combo boxes are active there. This means all options on these pages are configuration-dependant. When user changes any option on Build or Debug page these changes are applied only to configuration currently displayed in the Configuration combo box. So user can set up different settings for different configurations. By default current active configuration is selected in combo boxes, Active (<current active configuration name>) is displayed.
The easiest way to switch configurations for entire solution is to use configurations combo box on the Visual Studio Standard toolbar:
Like other configuration combo boxes, this one also has items to create or edit new configurations.
The other way to switch configurations is to use the Configuration Manager to select desired configuration in comb boxes for entire solution or some projects.