This post originated from an RSS feed registered with .NET Buzz
by Chris Flaat.
Original Post: More on configurations
Feed Title: Chris Flaat's Weblog
Feed URL: /msdnerror.htm?aspxerrorpath=/cflaat/Rss.aspx
Feed Description: I mainly discuss tips & tricks about VS 2002, VS 2003, and upcoming versions of VS.
Greetings, all!In my entry
about devenv /build, a reader named Toby mentions the pain of maintaining multiple
configurations when you have a lot of them that are identical except for one flag.He
says:
In my work, I'll deal with
several types of configurations: release, debug, profile build, unicode/mbcs, managed/unmanaged,
xbox/pc, inline assembly/unoptimized C, etc. Some of these are truly unique configurations,
requiring differing compiler options, etc. However, some are really just toggling
a flag (unicode/mbcs for example). Each of these toggled flags requires twice the
number of configurations. And when one of the configurations changes, all of the variants
need to be changed.
I’m sorry that this is a less than pleasant experience, Toby.I
don’t know of any way to do this any better than the workarounds you mentioned, at
least for VS 2002 / 2003.What you really
want is a way to define a solution configuration that sets a few variables and then
passes those into project configurations that are otherwise shared.
I can say that we are doing some things in the next version of VS (known as Whidbey)
that should make this significantly less painful, especially in the command-line build
scenario, although you may have to do a little low-level project file tweaking.We’re
announcing some Whidbey features related to this area at the PDC in late October,
so interested people should stay tuned (and I’ll be commenting on these new Whidbey
features here in my blog).
Toby also asks why this evolved the way it did.I’ve
been working in the solution/project area for only about a year & a half now,
so I don’t have lots of insight into the historical evolution of this feature.But
I would guess that most users are not doing the multi-axis customization of builds
that Toby is, so this scenario was never really optimized for.But
being able to richly handle this kind of scenario, unconstrained by any particular
assumptions of the IDE, is definitely the direction we are moving in for Whidbey &
beyond.