.net - MSBuild Condition IsDebug

How can I determine if a project is build in Debug (or Release) mode within an MSBuild .targets file and use this information as a condition for another property?

Something like:

<OutDir Condition="IsDebug">bin\Debug\$(SomeOtherProperty)\</OutDir>
<OutDir Condition="!IsDebug">bin\Release\$(SomeOtherProperty)\</OutDir>

Is there such thing as Debug/Release mode, or are they just conventional names for different sets of configuration properties' values?

1 Answer

  1. Ivan- Reply

    2019-11-13

    Debug/Release or whatever are just conventional values for the Configuration property.

    So, as long the project that includes/calls your .targets file adheres to the convention; you can check for debug mode as follows:

    <OutDir>bin\Release\$(SomeOtherProperty)\</OutDir>
    <OutDir Condition=" '$(Configuration)' == 'Debug' ">bin\Debug\$(SomeOtherProperty)\</OutDir>
    

    or you could just use that variable directly:

    <OutDir>bin\$(Configuration)\$(SomeOtherProperty)\</OutDir>
    

Leave a Reply

Your email address will not be published. Required fields are marked *

You can use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>