Escludere file dalla compilazione
In un file di progetto è possibile usare caratteri jolly per includere tutti i file in una directory o in un set annidato di directory come input per una compilazione. Tuttavia, potrebbe essere presente un file nella directory o una directory in un set annidato di directory che non si vuole includere come input per una compilazione. È possibile escludere in modo esplicito tale file o directory dall'elenco di input. In un progetto potrebbe anche essere presente un file che si vuole includere solo in determinate condizioni. È possibile dichiarare in modo esplicito le condizioni in cui un file viene incluso in una compilazione.
Escludere un file o una directory dagli input per una compilazione
Gli elenchi di elementi sono i file di input per una compilazione. Gli elementi che si vuole includere vengono dichiarati separatamente o come gruppo usando l'attributo Include
. Ad esempio:
<CSFile Include="Form1.cs"/>
<CSFile Include ="File1.cs;File2.cs"/>
<CSFile Include="*.cs"/>
<JPGFile Include="Images\**\*.jpg"/>
Se si usano caratteri jolly per includere tutti i file in una directory o un set annidato di directory come input per una compilazione, potrebbero essere presenti uno o più file nella directory o in una directory nel set annidato di directory che non si desidera includere. Per escludere un elemento dall'elenco di elementi, usare l'attributo Exclude
.
Per includere tutti i .cs
file o *.vb
ad eccezione di Form2
Usare uno degli attributi
Include
eExclude
seguenti:<CSFile Include="*.cs" Exclude="Form2.cs"/>
or
<VBFile Include="*.vb" Exclude="Form2.vb"/>
Per includere tutti i .cs
file o .vb
tranne Form2
e Form3
Usare uno degli attributi
Include
eExclude
seguenti:<CSFile Include="*.cs" Exclude="Form2.cs;Form3.cs"/>
or
<VBFile Include="*.vb" Exclude="Form2.vb;Form3.vb"/>
Per includere tutti i .jpg
file nelle sottodirectory della Images
directory, ad eccezione di quelli nella Version2
directory
Usare gli attributi
Include
eExclude
seguenti:<JPGFile Include="Images\**\*.jpg" Exclude = "Images\**\Version2\*.jpg"/>
Nota
È necessario specificare il percorso per entrambi gli attributi. Se si usa un percorso assoluto per specificare i percorsi file nell'attributo
Include
, è necessario usare un percorso assoluto anche nell'attributoExclude
. Se si usa un percorso relativo nell'attributoInclude
, è necessario usare un percorso relativo anche nell'attributoExclude
.
Usare le condizioni per escludere un file o una directory dagli input per una compilazione
Se sono presenti elementi che si vuole includere, ad esempio, in una build di debug, ma non in una build di versione, è possibile usare l'attributo Condition
per specificare le condizioni in cui includere l'elemento.
Per includere il file Formula.vb solo nelle build di versione
Usare un attributo
Condition
simile al seguente:<Compile Include="Formula.vb" Condition=" '$(Configuration)' == 'Release' " />
Esempio
L'esempio di codice seguente compila un progetto con tutti i file cs nella directory, tranne 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>
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per