VC++.NET has a nasty habit of adding per-file configuration settings when
converting VC6 project files. Some of them are necessary (like precompiled
header settings for stdafx.cpp, for instance), but many of them are often
superfluous (like preprocessor settings). One way to resolve it is to
manually open the .vcproj file and remove any unnecessary
<FileConfiguration> elements (and/or its PreprocessorDefinitions
attributes). Then your configuration-level settings will take effect for
all files.

Signature
---------------------------------------------------
Automate your software builds with Visual Build Pro
http://www.visualbuild.com/
> Hi,
>
[quoted text clipped - 23 lines]
> Is there someplace else to set up C++ preprocessor definitions in Visual
> Studio .NET?
red floyd - 24 Feb 2005 17:39 GMT
> VC++.NET has a nasty habit of adding per-file configuration settings when
> converting VC6 project files. Some of them are necessary (like precompiled
[quoted text clipped - 4 lines]
> attributes). Then your configuration-level settings will take effect for
> all files.
Where were the vaunted MS usability labs when they were developing the
VS.NET (and VS.NET 2K3) UIs? It seems that they broke a bunch of stuff
in the VS6 UI that worked a lot better (class wizard immediately comes
to mind, and a bunch of stuff in the properties dialog).
Kyle Alons - 24 Feb 2005 17:48 GMT
> Where were the vaunted MS usability labs when they were developing the
> VS.NET (and VS.NET 2K3) UIs? It seems that they broke a bunch of stuff in
> the VS6 UI that worked a lot better (class wizard immediately comes to
> mind, and a bunch of stuff in the properties dialog).
Like not being able to select all configurations and add a preprocessor def
or something without blowing away all the configuration-specific info?
Yeah, there are a few of those that can really make your day.

Signature
---------------------------------------------------
Automate your software builds with Visual Build Pro
http://www.visualbuild.com/
Jonathan Rynd - 25 Feb 2005 18:01 GMT
> VC++.NET has a nasty habit of adding per-file configuration settings
> when converting VC6 project files
Thanks! Suspected it was something like that, didn't know where it would
be set though.
What's the "official" way to set per-file configuration settings?
Tarek Madkour [MSFT] - 25 Feb 2005 19:48 GMT
> What's the "official" way to set per-file configuration
> settings?
You should set per-file properties if you need to override a
project-level property at the file level. For example, build that
file with a specific define, or compile that file /clr or
something else.
The bug that was referenced earlier in the thread unnecessarily
replicated the project level properties at the file level. It was
unnecessary because the values did not need to be overriden. We
were actually overriding them to the same value that they were.
One workaround for that bug was to upgrade the projects to VS2002
first and then upgrade from VS2002 to VS2003 (where you wouldn't
get that nasty bug).
Thanks,

Signature
Tarek Madkour, Visual C++ Team
This posting is provided "AS IS" with no warranties, and confers
no rights.