MSBuild, propriétés réservées et connues

MSBuild fournit un jeu de propriétés prédéfinies qui stockent les informations relatives au fichier projet et aux binaires MSBuild. Ces propriétés sont évaluées de la même manière que les autres propriétés MSBuild. Par exemple, pour utiliser la propriété MSBuildProjectFile, vous devez taper $(MSBuildProjectFile).

MSBuild utilise les valeurs du tableau ci-dessous pour prédéfinir les propriétés réservées et connues. Les propriétés réservées ne peuvent pas être remplacées, mais les propriétés connues peuvent être remplacées à l'aide des propriétés d'environnement du même nom, des propriétés globales ou des propriétés déclarées dans le fichier projet.

Propriétés réservées et connues

Le tableau ci-dessous décrit les propriétés prédéfinies de MSBuild.

Propriété

Description

Réservée ou connue

MSBuildBinPath

Chemin d'accès absolu du dossier contenant les binaires MSBuild actuellement utilisés (par exemple, C:\Windows\Microsoft.Net\Framework\NuméroVersion). Cette propriété est utile si vous devez faire référence à des fichiers dans le répertoire MSBuild.

N'incluez pas la barre oblique inverse finale dans cette propriété.

Réservée

MSBuildExtensionsPath

Introduite pour la première fois dans .NET Framework 4 : il n'existe aucune différence entre les valeurs par défaut de MSBuildExtensionsPath et de MSBuildExtensionsPath32. Vous pouvez affecter à la variable d'environnement MSBUILDLEGACYEXTENSIONSPATH une valeur non null pour activer le comportement de la valeur par défaut de MSBuildExtensionsPath dans les versions antérieures.

Dans .NET Framework 3.5 et les versions antérieures, la valeur par défaut de MSBuildExtensionsPath pointe vers le chemin d'accès du sous-dossier MSBuild sous le dossier \Program Files\ ou \Program Files (x86), en fonction du nombre de bits du processus actuel. Par exemple, pour un processus 32 bits sur un ordinateur 64 bits, la propriété pointe vers le dossier \Program Files (x86). Pour un processus 64 bits sur un ordinateur 64 bits, la propriété pointe vers le dossier \Program Files.

N'incluez pas la barre oblique inverse finale dans cette propriété.

Cet emplacement est utile pour placer les fichiers cibles personnalisés. Par exemple, vos fichiers cibles peuvent être installés dans \Program Files\MSBuild\MyFiles\Northwind.targets, puis importés dans les fichiers projet à l'aide du code XML suivant :

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>

Connue

MSBuildExtensionsPath32

Chemin du sous-dossier MSBuild sous le dossier \Program Files ou \Program Files (x86). Ce chemin d'accès pointe toujours vers le dossier \Program Files 32 bits sur un ordinateur 32 bits et vers le dossier \Program Files (x86) sur un ordinateur 64 bits. Consultez également MSBuildExtensionsPath et MSBuildExtensionsPath64.

N'incluez pas la barre oblique inverse finale dans cette propriété.

Connue

MSBuildExtensionsPath64

Chemin du sous-dossier MSBuild figurant dans le dossier \Program Files. Pour un ordinateur 64 bits, ce chemin d'accès pointe toujours sur le dossier \Program Files. Pour un ordinateur 32 bits, ce chemin d'accès est vierge. Consultez également MSBuildExtensionsPath et MSBuildExtensionsPath32.

N'incluez pas la barre oblique inverse finale dans cette propriété.

Connue

MSBuildLastTaskResult

true si la tâche précédente s'est déroulée sans erreur (même avec des avertissements) ou false si la tâche précédente comportait des erreurs. En général, lorsqu'une erreur se produit dans une tâche, l'erreur représente la dernière chose qui se produit dans le projet. Par conséquent, la valeur de cette propriété n'est jamais false, sauf dans les scénarios suivants :

Réservée

MSBuildNodeCount

Nombre maximal de processus simultanés utilisés lors de la génération. C'est la valeur que vous avez spécifiée pour /maxcpucount sur la ligne de commande. Si vous avez spécifié /maxcpucount sans spécifier de valeur, MSBuildNodeCount spécifie le nombre de processeurs sur l'ordinateur. Pour plus d’informations, consultez Référence de la ligne de commande MSBuild et Génération parallèle de plusieurs projets avec MSBuild.

Réservée

MSBuildProgramFiles32

Emplacement du dossier du programme 32 bits. Par exemple, C:\Program Files (x86).

N'incluez pas la barre oblique inverse finale dans cette propriété.

Réservée

MSBuildProjectDefaultTargets

Liste complète des cibles qui sont spécifiées dans l'attribut DefaultTargets de l'élément Project. Par exemple, l'élément Project suivant aurait une valeur de propriété MSBuildDefaultTargets égale à A;B;C :

<Project DefaultTargets="A;B;C" >

Réservée

MSBuildProjectDirectory

Chemin d'accès absolu du répertoire contenant le fichier projet, par exemple C:\MyCompany\MyProduct.

N'incluez pas la barre oblique inverse finale dans cette propriété.

Réservée

MSBuildProjectDirectoryNoRoot

Valeur de la propriété MSBuildProjectDirectory, à l'exclusion du lecteur racine.

N'incluez pas la barre oblique inverse finale dans cette propriété.

Réservée

MSBuildProjectExtension

Extension de nom de fichier du fichier projet, y compris le point. Par exemple : .proj.

Réservée

MSBuildProjectFile

Nom de fichier complet du fichier projet, y compris l'extension de nom de fichier. Par exemple : MyApp.proj.

Réservée

MSBuildProjectFullPath

Chemin d'accès absolu et nom de fichier complet du fichier projet, notamment l'extension du nom de fichier. Par exemple : C:\MyCompany\MyProduct\MyApp.proj.

Réservée

MSBuildProjectName

Nom de fichier du fichier projet sans l'extension de nom de fichier. Par exemple : MyApp.

Réservée

MSBuildStartupDirectory

Chemin d'accès absolu du dossier où MSBuild est appelé. Cette propriété vous permet de générer tout élément sous un point spécifique dans une arborescence du projet sans créer de fichiers dirs.proj dans chaque répertoire. À la place, vous avez un seul projet, par exemple, c:\traversal.proj, comme indiqué ici :

<Project ...>
    <ItemGroup>
        <ProjectFiles  
           Include="$
           (MSBuildStartupDirectory)
           **\*.csproj"/>
    </ItemGroup>
    <Target Name="build">
        <MSBuild    
        Projects="@(ProjectFiles)"/>
    </Target>
</Project>

Pour générer des éléments en tout point de l'arborescence, tapez :

msbuild c:\traversal.proj

N'incluez pas la barre oblique inverse finale dans cette propriété.

Réservée

MSBuildThisFile

Nom de fichier et partie de l'extension de fichier de MSBuildThisFileFullPath.

Réservée

MSBuildThisFileDirectory

Partie de répertoire de MSBuildThisFileFullPath.

Incluez la barre oblique inverse finale dans le chemin.

Réservée

MSBuildThisFileDirectoryNoRoot

Partie de répertoire de MSBuildThisFileFullPath, à l'exclusion du lecteur racine.

Incluez la barre oblique inverse finale dans le chemin.

Réservée

MSBuildThisFileExtension

Partie de l'extension du nom de fichier de MSBuildThisFileFullPath.

Réservée

MSBuildThisFileFullPath

Chemin d'accès absolu du fichier projet ou de cibles qui contient la cible en cours d'exécution.

Conseil

Vous pouvez spécifier un chemin d'accès relatif dans un fichier de cibles, qui se rapporte au fichier de cibles et non pas au fichier projet d'origine.

Réservée

MSBuildThisFileName

Partie du nom de fichier de MSBuildThisFileFullPath, sans l'extension de nom de fichier.

Réservée

MSBuildToolsPath

Chemin d'installation de la version de MSBuild qui est associée à la valeur de MSBuildToolsVersion.

N'incluez pas la barre oblique inverse finale dans le chemin.

Cette propriété ne peut pas être remplacée.

Réservée

MSBuildToolsVersion

Version de l'ensemble d'outils MSBuild qui est utilisée pour générer le projet.

Notes

Un ensemble d'outils MSBuild se compose de tâches, de cibles et d'outils, utilisés pour générer une application.Les outils incluent des compilateurs tels que csc.exe et vbc.exe.Pour plus d'informations, consultez Ensemble d'outils MSBuild (ToolsVersion) et Configurations standard et personnalisée de l'ensemble d'outils.

Réservée

Voir aussi

Concepts

Propriétés MSBuild

Autres ressources

Référence MSBuild