2009-06-18 12 views
7

W mojej kompilacji debugowania mam odniesienie do biblioteki DLL, która jest wymagana tylko w konfiguracji debugowania (odniesienie dotyczy CodeSite, narzędzia rejestrowania)..NET Lista różnych odnośników do debugowania/wydania

Czy można wykluczyć to odwołanie w kompilacji Release (moja klasa logowania używa tego odwołania tylko wtedy, gdy jest wbudowana w konfigurację debugowania).

Korzystanie z VB.NET i VS2008.

Odpowiedz

11

Tak, jest to możliwe, ale wymaga ręcznej edycji pliku .vbproj. Gdy masz plik otworzyć będziesz znacznik referencyjny XML dla DLL już odwoływać i będzie wyglądać następująco

<Reference Include="SomeDllName" /> 

musisz dodać obiekt warunek które gatunki powinny być wykonywane tylko podczas debugowania czas

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

Ooh, to miło - nie zdawałem sobie sprawy, że możesz dodać warunek w jednym miejscu. –

+0

@Jon, myślę, że możesz to zrobić na prawie każdym wpisie w pliku MSBuild. – JaredPar

+0

Dziękuję, dokładnie tak, jak jest to wymagane. Dziękuję również Jon. –

5

Można to zrobić, ale musisz ręcznie zetknąć się z plikiem projektu.

Robimy to w MiscUtil, dzięki czemu możemy mieć kompilację .NET 2.0 i kompilację .NET 3.5. Na przykład:

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

To powinno wystarczyć, aby dostać się zaczęło :) W zasadzie przyjąć obecną nazwę Spośród gdzie to jest w normalnym pliku projektu i umieścić go we własnym ItemGroup odpowiednim stanie.

Powiązane problemy