Tâches fréquemment utilisées

Copie de fichiers

<ItemGroup>
     <DataToCopy Include="*.cs;*.aspx" />
</ItemGroup>
<Copy SourceFiles="@(DataToCopy)" DestinationFolder="SourceCopiedFolder" />

Suppression de fichiers

<ItemGroup>
    <FilesToDelete Include="*.tmp" />
</ItemGroup>

<Delete Files="@(FilesToDelete)" />

Création d’un nouveau répertoire

<PropertyGroup>
    <DirectoryToCreate>NewDirectory</DirectoryToCreate>
</PropertyGroup>
<MakeDir Directories="$(DirectoryToCreate)" />

Suppression d’un répertoire existant

<PropertyGroup>
    <DirectoryToRemove>TempData</DirectoryToRemove>
</PropertyGroup>
<RemoveDir Directories="$(DirectoryToRemove)" />

Exécution d’une commande personnalisée

<Exec Command="echo Hello World" />

Affichage d’un message personnalisé

<PropertyGroup>
    <CustomMessage>Hello World</CustomMessage>
    <MessageImportance>Low</MessageImportance> <!-- Low / Normal / High -->
</PropertyGroup>
<Message Text="$(CustomMessage)" Importance="$(MessageImportance)" />

Exécuter MSBuild sur un autre projet/solution

<PropertyGroup>
    <LinkedSolution>LinkedSolution.sln</LinkedSolution>
    <BuildType>Build</BuildType> <!-- Build / Rebuild -->
    <BuildArchitecture>x86</BuildArchitecture> <!-- x86 / 64 -->
    <BuildConfiguration>Debug</BuildConfiguration> <!-- Debug / Release -->
</PropertyGroup>
<MSBuild Projects="$(LinkedSolution)"
         Targets="$(BuildType)" 
         Properties="Architecture=$(BuildArchitecture);Configuration=$(BuildConfiguration)" />