I am totally new to the functions and conditions in .csproj files so any and all help is appreciated.
What I want to do is check for a specific compiler directive in the current configuration. An example would be something like the following:
<Choose>
<When Condition= [current configuration has CONST-1 compiler constant defined] >
...
</When>
<When Condition= [current configuration has CONST-2 compiler constant defined] >
...
</When>
</Choose>
I don't know if this is even possible or not. If there is a better way to do what I am asking let me know that as well. Either way, I want to test for a condition independent of the configuration.
EDIT
What I really want is a value that I can edit easily, preferrably within Visual Studio, that I can also check regargless of the configuraiton. I thought about compiler constants because you can easily change them in the Project Properties in VS.
Compiler constants are set into a property "DefineConstants" so you should just be able to evaluate that property. Your Choose
statement needs to go after the PropertyGroups that define the constants or inside a target.
<Choose>
<When Condition="$(DefineConstants.Contains(CONST-1))">
...
</When>
<When Condition="$(DefineConstants.Contains(CONST-2))">
...
</When>
</Choose>