Visual Studio Project: How to include a reference for one configuration only?

c#, configuration, msbuild, reference, visual-studio

Solution

Unload the project and open it as .XML

Locate the reference item tag and add a Condition attribute.

For instance:

<ItemGroup>
  <Reference Include="System.Core">
    <RequiredTargetFramework>3.5</RequiredTargetFramework>
  </Reference>
  <Reference Include="System.Data" />
  <Reference Include="System.Drawing" />
  <Reference Include="System.Xml" />

  <Reference Include="MyUtilities.Debug"
    Condition="'$(Configuration)'=='Debug'"/>

</ItemGroup>

Notice the last reference now has a condition.

Problem

Env.: VS2008 C# project I need to build my app for use in 2 different environments. In one of those environments, I need to use a 3rd party DLL assembly. I could isolate the code that uses this DLL using #if blocks. But how do I conditionally include the reference to the DLL in the CS project file? Edit: womp has a good point in his comment. I turned into a separate question: Will the referenced DLL be loaded at all if it's never called? TIA,

Original source