Exclure des fichiers de la build
Dans un fichier projet, vous pouvez utiliser des caractères génériques pour inclure tous les fichiers d’un répertoire ou un ensemble imbriqué de répertoires comme des entrées d’une génération. Toutefois, il se peut que vous ne souhaitiez pas inclure un fichier du répertoire ou un répertoire d’un ensemble imbriqué de répertoires comme entrée d’une génération. Vous pouvez explicitement exclure ce fichier ou ce répertoire de la liste d’entrées. Il peut également s’agir d’un fichier d’un projet que vous ne souhaitez inclure que dans certaines conditions. Vous pouvez déclarer explicitement les conditions dans lesquelles un fichier est inclus dans une génération.
Exclure un fichier ou un répertoire des entrées d’une build
Les listes d’éléments constituent les fichiers d’entrée d’une génération. Les éléments que vous souhaitez inclure sont déclarés séparément ou en tant que groupe à l’aide de l’attribut Include
. Par exemple :
<CSFile Include="Form1.cs"/>
<CSFile Include ="File1.cs;File2.cs"/>
<CSFile Include="*.cs"/>
<JPGFile Include="Images\**\*.jpg"/>
Si vous avez utilisé des caractères génériques pour inclure tous les fichiers d’un répertoire ou un ensemble imbriqué de répertoires comme entrées d’une build, il se peut que vous ne vouliez pas inclure un ou plusieurs fichiers du répertoire ou un répertoire de l’ensemble imbriqué des répertoires. Pour exclure un élément de la liste d’éléments, utilisez l’attribut Exclude
.
Pour inclure tous les fichiers .cs ou .vb à l’exception de Form2
Utilisez l’un des attributs
Include
etExclude
suivants :<CSFile Include="*.cs" Exclude="Form2.cs"/>
ou
<VBFile Include="*.vb" Exclude="Form2.vb"/>
Pour inclure tous les fichiers .cs ou .vb à l’exception de Form2 et Form3
Utilisez l’un des attributs
Include
etExclude
suivants :<CSFile Include="*.cs" Exclude="Form2.cs;Form3.cs"/>
ou
<VBFile Include="*.vb" Exclude="Form2.vb;Form3.vb"/>
Pour inclure tous les fichiers .jpg des sous-répertoires du répertoire Images, à l’exception de ceux du répertoire Version2
Utilisez les attributs
Include
etExclude
suivants :<JPGFile Include="Images\**\*.jpg" Exclude = "Images\**\Version2\*.jpg"/>
Notes
Vous devez spécifier le chemin d’accès pour les deux attributs. Si vous utilisez un chemin d’accès absolu pour spécifier les emplacements des fichiers dans l’attribut
Include
, vous devez également utiliser un chemin d’accès absolu dans l’attributExclude
; si vous utilisez un chemin d’accès relatif dans l’attributInclude
, vous devez également utiliser un chemin d’accès relatif dans l’attributExclude
.
Utiliser des conditions pour exclure un fichier ou un répertoire des entrées d’une build
Si vous souhaitez inclure des éléments, par exemple, dans une version Debug, mais pas dans une version Release, vous pouvez utiliser l’attribut Condition
pour spécifier les conditions dans lesquelles inclure l’élément.
Pour inclure le fichier Formula.vb uniquement dans les versions Release
Utilisez un attribut
Condition
semblable à ce qui suit :<Compile Include="Formula.vb" Condition=" '$(Configuration)' == 'Release' " />
Exemple
L’exemple de code suivant génère un projet avec l’ensemble des fichiers .cs du répertoire à l’exception du fichier 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>
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour