2010-03-03 6 views
7

Tengo tres configuraciones diferentes en mi proyecto, las tres no requieren que todos los archivos se compilen en la aplicación. En realidad, preferiría si pudiera excluir esos archivos de la compilación, lo que haría que mi aplicación sea un poco más liviana.Excluir archivos completos en función de la configuración de la compilación en VS2008

Lo que estoy buscando es #if MYCONFIG o #if DEBUG declaración pero para los archivos. Ya he leído que esto se puede lograr editando manualmente el archivo csproj, pero ya no puedo encontrarlo ... ¿y hay otras formas?

Respuesta

11

Hay dos maneras diferentes: En sus archivos csproj, tendrá secciones que se ven así:

<ItemGroup> 
    <Compile Include="Helper.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
</ItemGroup> 

Lo que puede hacer es establecer una configuración nuevo proyecto (Build menú, Gestor configuración, seleccione Nueva de la configuración de soluciones activas desplegable), a continuación, cambiar manualmente el nodo ItemGroup a esto:

<ItemGroup Condition=" '$(Configuration)' == 'MyNewConfiguration' "> 
    <Compile Include="Helper.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
</ItemGroup> 

La segunda forma, como mencionó en su pregunta, es usar símbolos de depuración condicional. En la parte superior de su archivo, tiene la declaración

#if MYDEBUGSYMBOL 

y en la parte inferior tienen

#endif 

continuación, se pueden definir los símbolos de depuración; Haga clic con el botón derecho en su archivo de proyecto, seleccione Propiedades, vaya a la pestaña Crear e ingrese el símbolo de depuración en el cuadro de texto Símbolos de compilación condicionales.

Probablemente me quedaré con el primer método.

+0

¿Esto también es posible con los viejos archivos de proyecto VS2008 para proyectos C? – Christian

Cuestiones relacionadas