Did you know… How to pretend the configuration manager doesn’t exist, besides closing your eyes and saying i don’t see you? – #165

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

Comments (4)

  1. davidacoder says:

    Isn’t that the kind of option that probably adds a ton of testing/dev for you guys and at the same time is hardly ever used? Do must have statistics on that from the customer improvement or how ever it is called program, right?

  2. You’ve been kicked (a good thing) – Trackback from DotNetKicks.com

  3. If you are using the Express editions of Visual Studio (C# anyway) then this option is disabled by default.

    I didn’t realise there was the option – so now I at least know how to re-enable it!

  4. Victor Victor says:

    Sara: A hearty THANKS! for this page.  Using VS 2008 Professional, I’m building dll files to send to SQL Server 2005 as assemblies containing stored procedures. I’ve been stumped for 2 days trying to get a dll in a Release folder rather than in the  (default) Debug folder.  Unchecking "Show advanced build configurations" solved the problem. VV.