2009-06-18 15 views
7

Nella mia build di debug ho un riferimento a una DLL che è richiesta solo nella configurazione di Debug (il riferimento è per CodeSite, uno strumento di registrazione).Elenco di riferimenti diversi in .NET per Debug/Release

È possibile escludere questo riferimento nella versione di rilascio (la mia classe di registrazione utilizza solo questo riferimento quando viene creata nella configurazione di Debug).

Utilizzo di VB.NET e VS2008.

risposta

11

Sì, questo è possibile ma richiederà la modifica manuale del file .vbproj. Una volta che avete aperto il file avrete un tag di riferimento XML per la DLL che hai fatto riferimento e sarà simile al seguente

<Reference Include="SomeDllName" /> 

È necessario aggiungere una proprietà condizione che le specie che dovrebbe essere fatto solo durante il debug tempo

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

Ooh, è bello, non mi rendevo conto che si poteva aggiungere una condizione su un singolo riferimento. –

+0

@Jon, penso che si possa fare praticamente su qualsiasi voce in un file MSBuild. – JaredPar

+0

Grazie, esattamente come richiesto. Grazie anche a Jon. –

5

È possibile farlo, ma è necessario eseguire manualmente il backup del file di progetto.

Facciamo questo in MiscUtil in modo che possiamo avere una build di .NET 2.0 e una build di .NET 3.5. Per esempio:

<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> 

Questo dovrebbe essere sufficiente per iniziare :) Fondamentalmente prendere il riferimento corrente di dove si trova nel file di progetto normale, e metterlo nel proprio ItemGroup con una condizione adeguata.

Problemi correlati