>>Hi.
>>I would like to use conditional compilation to have difference method access modifier for unit testing.
>>
>>
>>#if TEST
>> public virtual void MyMethod()
>>#else
>> public void MyMethod()
>>#endif
>> {
>> // Do Something;
>> }
>>
>>
>>I have code as above, I added new constant TEST at solution configuration manager. I changed "constant" among debug, release and TEST. VS 2008 IDE works fine for TEST and debug. However, whenever I change it to release, the method under TEST constant will be used.
>>
>>Anyway to make DEBUG/RELEASE to use public void MyMethod() and onyl TEST will use public virtual void MyMethod() ?
>
>If I understand correctly what you are trying to do:
>
>There is a pre-defined DEBUG constant which should be adequate - just make sure the checkbox in the project 'Build' page is checked for the relevant configurations. You should be able to check whether conditional code will be compiled - if it is not being compiled it will be greyed-out in the IDE. If you really want to use 'TEST' then add it to the 'Conditional Compilation symbols in the 'Debug' configuration of the project properties 'Build' page
You can also test for debug mode
if (System.Diagnostics.Debugger.IsAttached)
{
DoSomething()
}
else
{
DoSomethingElse()
}
Timothy Bryan