I am searching for a detailed explanation of all Visual Studio project settings.
In the past, i noticed over and over again, that i am a absolute beginner concerning to the handling of visual Studio projects and solutions. Quiet often, i am faced with problems, taking me hours of try-and-error and google-search to solve, that are just the result of a simple wrong project setting. Or even more painful: Problems which i workaround with compilcated source-code changes (other improper data-types... etc.) which wouldn't be nessasary with the correct settings.
Therefore i would like to understand the various settings more precisely and even learn about their existence.
- What they are basically for?
- What changes by a modification of the setting?
- Which things (Input files, Output files, other settings, the way of proceeding of the IDE during the build... etc.) are affected by a modification of the setting?
- What does exactly cause each setup, especially for settings of command line switches with different choices.
- Eventually, why this setting was introduced at all?
- To which other project settings, a setup is compatible to? And why?
- Why the setting gets changed? What does i hope to achieve thereby?
- For which reasons/problems/build issues, a developer normally changes the setting?
- In which way i could cause the same effect, without changing the setting directly? (Example: Disable Specific Warnings: "4482;%(DisableSpecificWarnings)" <-> #pragma warning(disable : 4482) Btw: This warning gets always disabled by me ;-) )
- For which kind of project(-template), a specific setting is particularly important?
- In which kind of project they are even available? (Example: No Linker options for static libraries)
- In which world (Native C/C++ or .NET) does the setting perhaps even has different effects?
Unfortunately, the MSDN documentation is extremely poor for many of the project settings and sometimes even comes as a one-sentencer.
Does someone know of books, web pages, Articels, publications or other sources, which could shed light on this topic?