Yeah, that’s my attempt at humor for explaining "simplified build configurations."  In other words, if you have never touched the "Debug" or "Release" configurations and/or have never heard of the build configuration manager, you might want to try this tip out.

To tell the truth, i had to spend 30 minutes remembering the ins and outs how this works, then another hour doing the write-up and screenshots, so i probably have missed something.  if i did forget something, please chime in.

Under Tools – Options – Projects and Solutions, you’ll see the Show Advanced Build Configurations option.  Unchecking this option does quite a few things behind the scenes, but first, I’ll briefly describe build configurations.

Show Advanced Build Configurations

By default, Visual Studio comes with 2 build configurations: Debug and Release.  You are free to create your own build configurations via the build configuration manager.  I have some old blog posts on how the configuration manager works: Part 1 and Part 2, if you want to create your own custom build configs.

(and if you are using a custom build config and uncheck the "show advanced build config" check box, VS will pretend you still have it checked, since you obviously want to use the configuration manager)

Configuration Manager on Standard Toolbar

When in Simplified Build Configuration mode, the following happens behind the scenes:

  • F5 (Debug.Start) will run under the debugger in Debug configuration. This means that the binaries will be produced under a "Debug" folder in the output file path.
  • Ctrl+Shift+B (Build.BuildSolution) will run (no debugger) in Release configuration.  This means the binaries will be produced under a "Release" folder in the output file path.
    • if you change the Build output path (like bin\myRelease) and do a Build.BuildSolution (Ctrl+Shift+B), Visual Studio will build the release in the "myRelease" folder.  but if you do a F5, VS will still put it in the Debug folder.

If what i have above makes complete sense to you and/or you have never touched the configuration manager, you might want to give this option a try. 

From a UI perspective, Visual Studio hides all access points to the Configuration Manager when in Simplified Build Config:

  • Disabled on standard toolbar

Configuration Manager grayed-out in standard toolbar

  • Disappears on Solution Explorer – Project File Node – Context menu

Configuration Manager disappears from project node context menu

  • Disappears on Project Properties – Debug

Configuration Manager disappers on project properties

And that’s more than i ever wanted to type about Simplified Build Configurations, and probably more than you ever wanted to know, but at least now you totally understand what that little option does now.  =)

Technorati Tags: VS2005Tip,VS2008Tip