2009-06-18 5 views
7

Dans ma version de débogage, j'ai une référence à une DLL qui n'est requise que dans la configuration Debug (la référence est pour CodeSite, un outil de journalisation)..NET Liste de références différentes pour Debug/Release

Est-il possible d'exclure cette référence dans la version Release (ma classe de consignation n'utilise cette référence que lorsqu'elle est intégrée dans la configuration de débogage).

Utilisation de VB.NET et VS2008.

Répondre

11

Oui, cela est possible mais vous devrez modifier manuellement le fichier .vbproj. Une fois que vous avez le fichier que vous ouvrez vous une balise de référence XML pour vous de la DLL avez parlé et il ressemblera à ce qui suit

<Reference Include="SomeDllName" /> 

Vous devez ajouter une propriété condition quelles espèces il ne devrait se faire au cours de débogage

<Reference Include="SomeDllName" Condition="'$(Configuration)'=='Debug'" /> 
+0

Ooh, c'est bien - je ne savais pas que vous pouviez ajouter une condition sur une seule référence. –

+0

@Jon, je pense que vous pouvez le faire à peu près n'importe quelle entrée dans un fichier MSBuild. – JaredPar

+0

Merci, exactement comme requis. Merci aussi Jon. –

5

Il est possible de le faire, mais vous devrez jouer manuellement avec le fichier projet. Nous faisons cela en MiscUtil afin que nous puissions avoir une version .NET 2.0 et une version 3.5 .NET. Par exemple:

<ItemGroup Condition=" '$(Configuration)' != 'Release 2.0' "> 
    <Reference Include="System.Core"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
    <Aliases>global</Aliases> 
    </Reference> 
    <Reference Include="System.Xml.Linq"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
    </Reference> 
</ItemGroup> 

Cela devrait être suffisant pour vous aider à démarrer :) prendre Fondamentalement, la référence actuelle sur l'endroit où il est dans votre fichier normal du projet, et le mettre dans sa propre ItemGroup avec une condition appropriée.

Questions connexes