Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1023539
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T11:38:21+00:00 2026-05-16T11:38:21+00:00

I have always used Visual Studios built in GUI support for configuring my projects,

  • 0

I have always used Visual Studios built in GUI support for configuring my projects, often using property sheets so that several projects will use a common set.

One of my main gripes with this is managing multiple projects, configurations and platforms. If you just do everything with the main GUI (right click the project -> properties) it quickly becomes a mess, difficult to maintain and prone to bugs (like failing to correctly define some macro, or using the wrong runtime library, etc). Dealing with the fact that different people put there dependency libraries in different places (eg mine all live in “C:\Libs\[C,C++]\[lib-name]\”) and then often manage the different versions of those libraries differently as well (release, debug, x86, x64, etc) is also a large problem since it vastly complicates the time to set it up on a new system, and then there is issues with version-control and keeping everyone’s paths separate…

Property sheets make this a bit better, but I cant have one sheet have separate settings for different configurations and platforms (the drop down boxes a greyed out), resulting in me having many sheets which if inherited in the correct order do what I want (“x86”, “x64”, “debug”, “release”, “common”, “directories” (deals with the previously mentioned dependency issue by defining user macros like BoostX86LibDir), etc) and if inherited in the wrong order (eg “common” before “x64” and “debug”) lead to issues like trying to link an incorrect library version, or incorrectly naming the output…

What I want is a way of dealing with all these scattered dependencies and setting up a set of “rules” which are used by all my projects in the solution, like naming an output library as “mylib-[vc90,vc100]-[x86,x64][-d].lib”, without having to do all this for each individual project, configuration and platform combination, and then keep them all correctly in sync.

I am aware of moving to entirely different systems like CMake that create the needed files, however this then complicates things elsewhere by making it so even simple tasks like adding a new file to the project then requires additional changes elsewhere, which is not something I am entirely happy with either, unless there is some with VS2010 integration which can keep track of these sorts of changes.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T11:38:22+00:00Added an answer on May 16, 2026 at 11:38 am

    I just found out somthing I didnt think was possible (it is not exposed by the GUI) that helps make property sheet far more useful. The “Condition” attribute of many of the tags in the project property files and it can be used in the .props files as well!

    I just put together the following as a test and it worked great and did the task of 5 (common,x64,x86,debug,release) separate property sheets!

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup Label="UserMacros">
        <!--debug suffix-->
        <DebugSuffix Condition="'$(Configuration)'=='Debug'">-d</DebugSuffix>
        <DebugSuffix Condition="'$(Configuration)'!='Debug'"></DebugSuffix>
        <!--platform-->
        <ShortPlatform Condition="'$(Platform)' == 'Win32'">x86</ShortPlatform>
        <ShortPlatform Condition="'$(Platform)' == 'x64'">x64</ShortPlatform>
        <!--toolset-->
        <Toolset Condition="'$(PlatformToolset)' == 'v90'">vc90</Toolset>
        <Toolset Condition="'$(PlatformToolset)' == 'v100'">vc100</Toolset>
      </PropertyGroup>
      <!--target-->
      <PropertyGroup>
        <TargetName>$(ProjectName)-$(Toolset)-$(ShortPlatform)$(DebugSuffix)</TargetName>
      </PropertyGroup>
    </Project>
    

    Only issue is the properties GUI cant handle it, a project that uses the above property sheet just reports default inherited values like “$(ProjectName)” for the target.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have always used the Visual Studio Dependencies option to ensure that, for example,
I have always thought that in order to connect to SQL server using windows
I have been using Unity for quite a while but I have always used
I'm using MS SQL for a project, but have always used MySql in the
I have always used winforms to do my projects but I have never really
I have always used: serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); which means that I will accept connections
I have always used the mouseover event, but while reading the jQuery documentation I
As a hardcore WinForms programmer from a Win32 background I have always used Spy++
I have generally always used some sort of Hungarian Notation for my field names
I always have used Spring Framework classes as-is. However I am thinking of customizing

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.