问题
I neeed to create multiple versions of my project using configuration just like we do with #define
, #if
, #endif
.
The down side of using these preprocessor directives is that I need to define symbols in almost every file of the project but I want to handle this thing by my build configurations.
I am not even sure if Build Configurations will help me to do this.
What I want is if I create a configuration with name "Development" and other with name "QA", my code would look like:
if #Development or if $QA
Kindly guide me towards achieving this.
回答1:
Configuration Manager exist for this reason.
- Go to the Configuration Manager and create a New Configuration copying from the predefined DEBUG configuration
- Name the configuration DEVELOPMENT and apply to all projects
- Select as Active Configuration the DEVELOPMENT configuration (should already be the active one)
- Go to the properties page of each project requiring
#if DEVELOPMENT
conditional compile and insert the DEVELOPMENT symbol in first textbox of the BUILD tab
Now each of your projects can use the #if DEVELOPMENT preprocessor directive
If you need this also for RELEASE repeat the above steps but copy from predefined RELEASE configuration and give a different NAME
Now switching from a configuration with or without the DEVELOPMENT symbol defined could be done directly from the Solution Configurations combo Tool present in the Standard Toolbar of Visual Studio without editing each project.
You can also view MSDN article How to: Create and Edit Configurations
回答2:
In addition to Michael Freidgeim´s solution you can use attribute conditional
for central initalisation operations or other void functions:
[Conditional("DEVELOPMENT")]
public static void InitDemo()
{
Models.LogFile.ErrorLog("This is a Development Version!");
// init settings
}
Found here: http://msdn.microsoft.com/de-de/library/4xssyw96%28v=vs.80%29.aspx
来源:https://stackoverflow.com/questions/10086591/create-multiple-versions-of-a-project-in-visual-studio-using-build-configuration