I'm currently looking to add some debug only code to a windows phone project. This debug code will drag in some debug class library references (nunit helpers) and some WCF service client references, and I'd really like to not have these referenced in the release build.
Can anyone suggest any way that I can add an Assembly-Reference to debug, but not have it appear in release?
I've seen this on Connect - https://connect.microsoft.com/VisualStudio/feedback/details/106011/allow-adding-assembly-references-on-a-per-configuration-basis-debug-release - but it's marked as "postponed"
Both cases using MSBuild
Condition, you've once configure
csproj and forget about this.
csprojfile where need to filter references:
<ProjectReference Include="DebugOnlyHelpers.csproj" Condition=" '$(Configuration)' == 'DEBUG' "
Condition together with Choose/When:
<Choose> <When Condition=" '$(Configuration)'=='DEBUG' "> <ItemGroup> <Reference Include="NUnit.dll" /> <Reference Include="Standard.dll" /> </ItemGroup> </When> <Otherwise> <ItemGroup> <Reference Include="Standard.dll" /> </ItemGroup> </Otherwise> </Choose>
Unfortunately there's no way to do this right now. You'll have to switch to debug and remove the reference, then add it back when you return to release.