Excluir archivos de la compilación
En un archivo de proyecto puede utilizar comodines para incluir todos los archivos de un directorio o un conjunto de directorios anidado como entradas para una compilación. Sin embargo, puede haber un archivo en el directorio o un directorio en el conjunto anidado de directorios que no quiera incluir como entrada para una compilación. Puede excluir explícitamente ese archivo o directorio de la lista de entradas. También puede haber un archivo en un proyecto que solo quiera incluir bajo determinadas condiciones. Se pueden declarar explícitamente las condiciones para incluir un archivo en una compilación.
Excluir un archivo o directorio de las entradas de una compilación
Las listas de elementos son los archivos de entrada para una compilación. Los elementos que se van a incluir se declaran por separado o como un grupo mediante el atributo Include
. Por ejemplo:
<CSFile Include="Form1.cs"/>
<CSFile Include ="File1.cs;File2.cs"/>
<CSFile Include="*.cs"/>
<JPGFile Include="Images\**\*.jpg"/>
Si se han utilizado comodines para incluir todos los archivos de un directorio o un conjunto de directorios anidado como entradas para una compilación, puede haber uno o más archivos en el directorio o un directorio en el conjunto de directorios anidado que no quiera incluir. Para excluir un elemento de la lista de elementos, utilice el atributo Exclude
.
Para incluir todos los archivos .cs o .vb excepto Form2
Utilice uno de los siguientes atributos
Include
yExclude
:<CSFile Include="*.cs" Exclude="Form2.cs"/>
or
<VBFile Include="*.vb" Exclude="Form2.vb"/>
Para incluir todos los archivos .cs o .vb excepto Form2 y Form3
Utilice uno de los siguientes atributos
Include
yExclude
:<CSFile Include="*.cs" Exclude="Form2.cs;Form3.cs"/>
or
<VBFile Include="*.vb" Exclude="Form2.vb;Form3.vb"/>
Para incluir todos los archivos .jpg de los subdirectorios del directorio Images, excepto los del directorio Version2
Utilice los siguientes atributos
Include
yExclude
:<JPGFile Include="Images\**\*.jpg" Exclude = "Images\**\Version2\*.jpg"/>
Nota
Debe especificar la ruta de acceso de ambos atributos. Si utiliza una ruta de acceso absoluta para especificar ubicaciones de archivos en el atributo
Include
, también debe utilizar una ruta de acceso absoluta en el atributoExclude
; si utiliza una ruta de acceso relativa en el atributoInclude
, también debe utilizar una ruta de acceso relativa en el atributoExclude
.
Usar condiciones para excluir un archivo o un directorio de las entradas de una compilación
Si hay elementos que quiere incluir, por ejemplo, en una compilación de depuración, pero no en una compilación de versión, puede utilizar el atributo Condition
para especificar las condiciones en las que se va a incluir el elemento.
Para incluir el archivo Formula.vb solo en compilaciones de versión
Utilice un atributo
Condition
similar al siguiente:<Compile Include="Formula.vb" Condition=" '$(Configuration)' == 'Release' " />
Ejemplo
En el ejemplo de código siguiente se compila un proyecto con todos los archivos .cs del directorio, excepto Form2.cs.
<Project DefaultTargets="Compile"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<builtdir>built</builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="*.cs" Exclude="Form2.cs"/>
<Reference Include="System.dll"/>
<Reference Include="System.Data.dll"/>
<Reference Include="System.Drawing.dll"/>
<Reference Include="System.Windows.Forms.dll"/>
<Reference Include="System.XML.dll"/>
</ItemGroup>
<Target Name="PreBuild">
<Exec Command="if not exist $(builtdir) md $(builtdir)"/>
</Target>
<Target Name="Compile" DependsOnTargets="PreBuild">
<Csc Sources="@(CSFile)"
References="@(Reference)"
OutputAssembly="$(builtdir)\$(MSBuildProjectName).exe"
TargetType="exe" />
</Target>
</Project>
Contenido relacionado
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de