Selezionare i file da compilare
Quando si compila un progetto che contiene molti file, è possibile elencare separatamente ogni file nel file di progetto oppure è possibile usare caratteri jolly per includere tutti i file contenuti in una directory o in un set nidificato di directory.
Specificare gli input
Gli elementi rappresentano gli input di una compilazione. Per altre informazioni sugli elementi, vedere Elementi.
Per includere i file per una compilazione, devono essere inclusi in un elenco di elementi nel file di progetto MSBuild. È possibile aggiungere più file agli elenchi di elementi includendoli uno alla volta o usando i caratteri jolly per includere molti file allo stesso tempo.
Per dichiarare gli elementi uno alla volta
Usare gli attributi
Include
simili ai seguenti:<CSFile Include="form1.cs"/>
oppure
<VBFile Include="form1.vb"/>
Nota
Se gli elementi di una raccolta di elementi non si trovano nella stessa directory del file di progetto, è necessario specificare il percorso completo o relativo dell'elemento. Ad esempio:
Include="..\..\form2.cs"
.
Per dichiarare più elementi
Usare gli attributi
Include
simili ai seguenti:<CSFile Include="form1.cs;form2.cs"/>
o
<VBFile Include="form1.vb;form2.vb"/>
Specificare gli input con caratteri jolly
È anche possibile usare caratteri jolly per includere in modo ricorsivo tutti i file o solo file specifici dalle sottodirectory come input per una compilazione. Per altre informazioni sui caratteri jolly, vedere Elementi
Gli esempi seguenti si basano su un progetto che contiene file grafici nelle directory e sottodirectory seguenti. Il file di progetto si trova nella directory Project:
Project\Images\BestJpgs
Project\Images\ImgJpgs
Project\Images\ImgJpgs\Img1
Per includere tutti i file con estensione jpg della directory Images e delle relative sottodirectory
Usare l'attributo
Include
seguente:Include="Images\**\*.jpg"
Per includere tutti i file jpg che iniziano con img
Usare l'attributo
Include
seguente:Include="Images\**\img*.jpg"
Per includere tutti i file delle directory i cui nomi terminano con jpgs
Usare uno degli attributi
Include
seguenti:Include="Images\**\*jpgs\*.*"
o
Include="Images\**\*jpgs\*"
Passare elementi a un'attività
In un file di progetto, è possibile usare la notazione @() nelle attività per specificare un intero elenco di elementi come input per una compilazione. È possibile usare questa notazione se si elencano tutti i file separatamente, altrimenti usare i caratteri jolly.
Per usare tutti i file Visual C# o Visual Basic come input
Usare gli attributi
Include
simili ai seguenti:<CSC Sources="@(CSFile)">...</CSC>
oppure
<VBC Sources="@(VBFile)">...</VBC>
Nota
È necessario usare caratteri jolly con elementi per specificare gli input per una compilazione; non è possibile specificare gli input usando l'attributo Sources
nelle attività di MSBuild, ad esempio Csc o Vbc. L'esempio seguente non è valido in un file di progetto:
<CSC Sources="*.cs">...</CSC>
Esempio 1
L'esempio di codice seguente illustra un progetto che include tutti i file di input separatamente.
<Project DefaultTargets="Compile"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<Builtdir>built</Builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="Form1.cs"/>
<CSFile Include="AssemblyInfo.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>
Esempio 2
L'esempio di codice seguente usa un carattere jolly per includere tutti i file con estensione cs.
<Project DefaultTargets="Compile"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<builtdir>built</builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="*.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