2009-06-18 16 views
7

En mi versión de depuración tengo una referencia a una DLL que solo se requiere en la configuración de depuración (la referencia es para CodeSite, una herramienta de registro)..NET Lista de referencias diferentes para depuración/versión

Es posible excluir esta referencia en la versión Release (mi clase de registro solo usa esta referencia cuando se construye en la configuración de Debug).

Uso de VB.NET y VS2008.

Respuesta

11

Sí, es posible, pero será necesario que edite manualmente el archivo .vbproj. Una vez que tenga el archivo de abrir usted una etiqueta de referencia XML para la DLL de que has mencionado y que se verá como la siguiente

<Reference Include="SomeDllName" /> 

Es necesario añadir una propiedad condición que las especies que sólo debe hacerse durante la depuración tiempo

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

Ooh, eso es bueno - No me di cuenta de que podría agregar una condición en una sola referencia. –

+0

@Jon, creo que puedes hacerlo en casi cualquier entrada en un archivo MSBuild. – JaredPar

+0

Gracias, exactamente como se requiere. Gracias también Jon. –

5

Es posible hacer esto, pero tendrá que meterse con el archivo de proyecto manualmente.

Hacemos esto en MiscUtil para que podamos tener una versión .NET 2.0 y una versión .NET 3.5. Por ejemplo:

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

Eso debería ser suficiente para empezar :) Básicamente tomar la referencia de corriente de dónde se encuentra en su archivo normal de proyecto, y lo puso en su propia ItemGroup con una condición apropiada.

Cuestiones relacionadas