Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Una piattaforma di compilazione richiede la possibilità di eseguire un numero qualsiasi di azioni durante il processo di compilazione. MSBuild usa attività per eseguire queste azioni. Un'attività è un'unità di codice eseguibile usata da MSBuild per eseguire operazioni di compilazione atomica.
Logica delle attività
Il formato di file di progetto XML MSBuild non può eseguire completamente le operazioni di compilazione autonomamente, pertanto la logica dell'attività deve essere implementata all'esterno del file di progetto.
La logica di esecuzione di un'attività viene implementata come classe .NET che implementa l'interfaccia ITask , definita nello spazio dei Microsoft.Build.Framework nomi .
La classe task definisce anche i parametri di input e output disponibili per l'attività nel file di progetto. A tutte le proprietà non astratte non statiche non statiche esposte dalla classe di attività è possibile assegnare valori nel file di progetto inserendo un attributo corrispondente con lo stesso nome nell'elemento Task e impostandone il valore, come illustrato negli esempi più avanti in questo articolo.
È possibile scrivere un'attività personalizzata creando una classe gestita che implementa l'interfaccia ITask . Per altre informazioni, vedere Scrittura di attività.
Eseguire un'attività da un file di progetto
Prima di eseguire un'attività nel file di progetto, è necessario eseguire il mapping del tipo nell'assembly che implementa l'attività al nome dell'attività con l'elemento UsingTask . In questo modo, MSBuild sa dove cercare la logica di esecuzione dell'attività quando la trova nel file di progetto.
Per eseguire un'attività in un file di progetto MSBuild, creare un elemento con il nome dell'attività come figlio di un Target elemento. Se un'attività accetta parametri, questi vengono passati come attributi dell'elemento.
Gli elenchi di elementi e le proprietà di MSBuild possono essere usati come parametri. Ad esempio, il codice seguente chiama l'attività MakeDir e imposta il valore della Directories proprietà dell'oggetto MakeDir uguale al valore della BuildDir proprietà :
<Target Name="MakeBuildDirectory">
<MakeDir
Directories="$(BuildDir)" />
</Target>
Le attività possono anche restituire informazioni al file di progetto, che può essere archiviato in elementi o proprietà per un uso successivo. Ad esempio, il codice seguente chiama l'attività Copy e archivia le informazioni dalla CopiedFiles proprietà di output nell'elenco SuccessfullyCopiedFiles di elementi.
<Target Name="CopyFiles">
<Copy
SourceFiles="@(MySourceFiles)"
DestinationFolder="@(MyDestFolder)">
<Output
TaskParameter="CopiedFiles"
ItemName="SuccessfullyCopiedFiles"/>
</Copy>
</Target>
Attività incluse
MSBuild viene fornito con molte attività, ad esempio Copy, che copia i file, MakeDir, che crea directory e Csc, che compila i file di codice sorgente C#. Per un elenco completo delle attività e delle informazioni sull'utilizzo disponibili, vedere Informazioni di riferimento sulle attività.
Attività sottoposte a override
MSBuild cerca le attività in diverse posizioni. Il primo percorso si trova nei file con l'estensione archiviata .OverrideTasks nella directory MSBuild. Le attività in questi file eseguono l'override di qualsiasi altra attività con gli stessi nomi, incluse le attività nel file di progetto. Il secondo percorso si trova nel file di progetto e nelle relative importazioni. Se l'attività non è definita nel progetto, verrà eseguita la ricerca nelle attività predefinite di MSBuild definite in un .tasks file nella directory MSBuild.
Contenuti correlati
- concetti di MSBuild
- msbuild
- Scrittura di attività
- Attività inline