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

MSBuild fournit un ensemble de propriétés prédéfinies qui stockent les informations relatives au fichier projet et aux fichiers 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. De plus, la plupart des propriétés connues ne doivent pas être remplacées, sauf dans les scénarios avancés.

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

Le tableau de cette section montre les propriétés prédéfinies MSBuild. L’exemple de colonne du tableau est lié à l’exemple de fichier projet suivant, censé se trouver sur C:\Source\Repos\ConsoleApp1\ConsoleApp1. Il montre un exemple des valeurs que présentent ces propriétés quand elles sont utilisées dans le fichier projet, quand MSBuild est appelé sans options de ligne de commande particulières.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
</Project>
Propriété Réservée ou connue Description Exemple
FrameworkSDKRoot Connue Chemin du dossier racine des outils du .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Connue Spécifie le nom de propriété qui définit la dimension de build de multiciblage (applicable uniquement si la build actuelle est une build de graphe). TargetFramework
InnerBuildPropertyValues Connue Spécifie le nom de propriété qui contient les valeurs possibles pour InnerBuildProperty (applicable uniquement si la build actuelle est une build de graphe). TargetFrameworks
IsGraphBuild Connue True s’il s’agit d’une build de graphe ; en d’autres termes, l’option -graphBuild est effective. Cette option signifie que MSBuild construit et génère un graphe de projet. La construction d’un graphe implique l’identification des références de projet pour les dépendances de formulaire. La création de ce graphe implique de tenter de générer des références de projet avant les projets qui les référencent, ce qui diffère de la planification MSBuild classique.
MSBuildAssemblyVersion Réservé Version des assemblys MSBuild utilisés pour générer le projet. 16,0
MSBuildBinPath Réservé Chemin absolu du dossier où se trouvent les fichiers binaires MSBuild 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 du répertoire MSBuild.

N'incluez pas la barre oblique inverse finale dans cette propriété.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildDisableFeaturesFromVersion Réservé Utilisé par les SDK Microsoft et MSBuild pour gérer les vagues de changements.
MSBuildExtensionsPath Connue 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 le .NET Framework 3.5 et les versions antérieures, la valeur par défaut de MSBuildExtensionsPath pointe vers le chemin du sous-dossier MSBuild situé dans 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"/>
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath32 Connue Chemin du sous-dossier MSBuild dans le dossier \Program Files ou \Program Files (x86). Le chemin d’accès pointe toujours vers le dossier \Program Files (x86) 32 bits sur un ordinateur 32 bits et vers le dossier \Program Files sur un ordinateur 64 bits. Consultez également MSBuildExtensionsPath et MSBuildExtensionsPath64.

N'incluez pas la barre oblique inverse finale dans cette propriété.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 Connue Chemin du sous-dossier MSBuild dans le dossier \Program Files. Pour un ordinateur 64 bits, ce chemin pointe toujours vers 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é.
C:\Program Files\MSBuild
MSBuildFileVersion Réservé Version en 4 parties des assemblys MSBuild utilisés pour générer le projet. 16.11.0.30701
MSBuildFrameworkToolsPath Connue Chemin des outils du .NET Framework avec lesquels la version en cours d’exécution de MSBuild a été générée, suivi d’une barre oblique de fin. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Connue Chemin de la version 32 bits des outils du .NET Framework correspondant à la même version de framework que celle avec laquelle la version en cours d’exécution de MSBuild a été générée, suivi d’une barre oblique de fin. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Connue Chemin de la version 64 bits des outils du .NET Framework correspondant à la même version de framework que celle avec laquelle la version en cours d’exécution de MSBuild a été générée, suivi d’une barre oblique de fin. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Réservé true si MSBuild s’exécute de manière interactive, ce qui permet une entrée utilisateur. Ce paramètre est contrôlé par l’option de ligne de commande -interactive. false
MSBuildLastTaskResult Réservé 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 :

- Quand l’attribut ContinueOnError de l’élément Task (MSBuild) est défini sur WarnAndContinue (ou true) ou ErrorAndContinue.

- Quand la Target possède un élément OnError (MSBuild) comme élément enfant.
true
MSBuildNodeCount Réservé Nombre maximal de processus simultanés utilisés lors de la génération. Il s’agit de la valeur que vous avez spécifiée pour -maxcpucount en ligne de commande. Si vous avez indiqué -maxcpucount sans spécifier de valeur, MSBuildNodeCount spécifie le nombre de processeurs sur l’ordinateur. Pour plus d’informations, voir Informations de référence sur la ligne de commande et Générer plusieurs projets en parallèle. 1
MSBuildOverrideTasksPath Connue Emplacement de recherche de fichiers .overridetasks, qui permettent de fournir des versions personnalisées de tâches standard. Consultez Tâches MSBuild.

N'incluez pas la barre oblique inverse finale dans le chemin.
MSBuildProgramFiles32 Réservé 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é.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Réservé 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" >
Build
MSBuildProjectDirectory Réservé Chemin 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é.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Réservé Valeur de la propriété MSBuildProjectDirectory, à l'exclusion du lecteur racine.

N'incluez pas la barre oblique inverse finale dans cette propriété.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Réservé Extension de nom du fichier projet, avec le point, par exemple .proj. .csproj
MSBuildProjectFile Réservé Nom complet du fichier projet, avec l’extension de nom de fichier, par exemple MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Réservé Chemin absolu et nom complet du fichier projet, avec l’extension de nom de fichier, par exemple C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Réservé Nom du fichier projet sans l’extension de nom de fichier, par exemple MyApp. ConsoleApp1
MSBuildRuntimeType Réservé Type du runtime en cours d’exécution. Introduit dans MSBuild 15. La valeur peut être indéfinie (avant MSBuild 15), Full indiquant que MSBuild s’exécute sur le .NET Framework pour applications de bureau, Core indiquant que MSBuild s’exécute sur .NET Core (par exemple dans dotnet build) ou Mono indiquant que MSBuild s’exécute sur Mono. Full
MSBuildSDKsPath Connue Chemin utilisé par MSBuild pour rechercher les kits SDK. C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks
MSBuildSemanticVersion Réservé Version SemVer 2.0 complète des assemblys MSBuild utilisés pour générer le projet. 16.11.0-preview-21302-05+5e37cc992
MSBuildStartupDirectory Réservé Chemin absolu du dossier où MSBuild est appelé. À l’aide de cette propriété, vous pouvez générer tout ce qui se trouve sous un point spécifique d’une arborescence de 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é.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Réservé Nom de fichier et partie de l'extension de fichier de MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Réservé Partie de répertoire de MSBuildThisFileFullPath.

Incluez la barre oblique inverse finale dans le chemin.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Réservé Partie de répertoire de MSBuildThisFileFullPath, à l'exclusion du lecteur racine.

Incluez la barre oblique inverse finale dans le chemin.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Réservé Partie de l'extension du nom de fichier de MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Réservé 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 au fichier projet d’origine.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Réservé Partie du nom de fichier de MSBuildThisFileFullPath, sans l'extension de nom de fichier. ConsoleApp1
MSBuildToolsPath Réservé Chemin d’installation de la version de MSBuild 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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\
MSBuildToolsPath32 Connue Chemin d’installation de la version 32 bits de MSBuild 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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildToolsPath64 Connue Chemin d’installation de la version 64 bits de MSBuild 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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Réservé Version de l’ensemble d’outils MSBuild utilisé pour générer le projet.

Remarque : Un ensemble d’outils MSBuild se compose de tâches, de cibles et d’outils qui sont utilisés pour générer une application. Les outils incluent des compilateurs tels que csc.exe et vbc.exe. Pour plus d’informations, voir Ensemble d’outils (ToolsVersion) et Configurations standard et personnalisées des ensembles d’outils.
Current
MSBuildUserExtensionsPath Connue Ce chemin fournit l’emplacement du dossier d’installation de MSBuild. Il peut être réinitialisé pour fournir des personnalisations locales par utilisateur. Consultez Personnaliser votre build locale.

N'incluez pas la barre oblique inverse finale dans le chemin.
MSBuildVersion Réservé Version de MSBuild utilisée pour générer le projet.

Cette propriété ne peut pas être substituée, sinon le message d’erreur MSB4004 - The 'MSBuildVersion' property is reserved, and can not be modified. est retourné.
16.11.0
MSBuildWarningsAsErrors Connue Liste de codes d’avertissement à traiter en tant qu’erreurs. MSB1234;MSB5678
MSBuildWarningsAsMessages Connue Liste de codes d’avertissement à traiter en tant que messages. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Connue Liste de codes d’avertissement qui ne doivent pas être promus en erreurs, même si le commutateur -warnAsError est défini pour promouvoir tous les autres avertissements en erreurs. Notez que cela n’a aucun effet si ce n’est pas vrai. MSB1234;MSB5678
OS Connue Sur Windows, cette propriété est héritée du système d’exploitation hôte. Les valeurs possibles sont « Windows_NT » et « Unix » ; ces valeurs peuvent être définies différemment sur des systèmes d’exploitation autres que Windows.
RoslynTargetsPath Connue Chemin des compilateurs Roslyn. C:\Program Files\Microsoft Visual Studio\2019\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Connue Chemin des outils .NET Framework 3.5.
SDK40ToolsPath Connue Chemin des outils .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Connue Dossier d’installation de Visual Studio. C:\Program Files (x86)\Microsoft Visual Studio\2019
WindowsSDK80Path Connue
Propriété Réservée ou connue Description Exemple
FrameworkSDKRoot Connue Chemin du dossier racine des outils du .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Connue Spécifie le nom de propriété qui définit la dimension de build de multiciblage (applicable uniquement si la build actuelle est une build de graphe). TargetFramework
InnerBuildPropertyValues Connue Spécifie le nom de propriété qui contient les valeurs possibles pour InnerBuildProperty (applicable uniquement si la build actuelle est une build de graphe). TargetFrameworks
IsGraphBuild Connue True s’il s’agit d’une build de graphe ; en d’autres termes, l’option -graphBuild est effective. Cette option signifie que MSBuild construit et génère un graphe de projet. La construction d’un graphe implique l’identification des références de projet pour les dépendances de formulaire. La création de ce graphe implique de tenter de générer des références de projet avant les projets qui les référencent, ce qui diffère de la planification MSBuild classique.
MSBuildAssemblyVersion Réservé Version des assemblys MSBuild utilisés pour générer le projet. 17.0
MSBuildBinPath Réservé Chemin absolu du dossier où se trouvent les fichiers binaires MSBuild 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 du répertoire MSBuild.

N'incluez pas la barre oblique inverse finale dans cette propriété.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildDisableFeaturesFromVersion Réservé Utilisé par les SDK Microsoft et MSBuild pour gérer les vagues de changements.
MSBuildExtensionsPath Connue 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 le .NET Framework 3.5 et les versions antérieures, la valeur par défaut de MSBuildExtensionsPath pointe vers le chemin du sous-dossier MSBuild situé dans 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"/>
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath32 Connue Chemin du sous-dossier MSBuild dans le dossier \Program Files ou \Program Files (x86). Le chemin d’accès pointe toujours vers le dossier \Program Files (x86) 32 bits sur un ordinateur 32 bits et vers le dossier \Program Files sur un ordinateur 64 bits. Consultez également MSBuildExtensionsPath et MSBuildExtensionsPath64.

N'incluez pas la barre oblique inverse finale dans cette propriété.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath64 Connue Chemin du sous-dossier MSBuild dans le dossier \Program Files. Pour un ordinateur 64 bits, ce chemin pointe toujours vers 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é.
C:\Program Files\MSBuild
MSBuildFileVersion Réservé Version en 4 parties des assemblys MSBuild utilisés pour générer le projet. 17.4.0.46505
MSBuildFrameworkToolsPath Connue Chemin des outils du .NET Framework avec lesquels la version en cours d’exécution de MSBuild a été générée, suivi d’une barre oblique de fin. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Connue Chemin de la version 32 bits des outils du .NET Framework correspondant à la même version de framework que celle avec laquelle la version en cours d’exécution de MSBuild a été générée, suivi d’une barre oblique de fin. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Connue Chemin de la version 64 bits des outils du .NET Framework correspondant à la même version de framework que celle avec laquelle la version en cours d’exécution de MSBuild a été générée, suivi d’une barre oblique de fin. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Réservé true si MSBuild s’exécute de manière interactive, ce qui permet une entrée utilisateur. Ce paramètre est contrôlé par l’option de ligne de commande -interactive. false
MSBuildLastTaskResult Réservé 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 :

- Quand l’attribut ContinueOnError de l’élément Task (MSBuild) est défini sur WarnAndContinue (ou true) ou ErrorAndContinue.

- Quand la Target possède un élément OnError (MSBuild) comme élément enfant.
true
MSBuildNodeCount Réservé Nombre maximal de processus simultanés utilisés lors de la génération. Il s’agit de la valeur que vous avez spécifiée pour -maxcpucount en ligne de commande. Si vous avez indiqué -maxcpucount sans spécifier de valeur, MSBuildNodeCount spécifie le nombre de processeurs sur l’ordinateur. Pour plus d’informations, voir Informations de référence sur la ligne de commande et Générer plusieurs projets en parallèle. 1
MSBuildOverrideTasksPath Connue Emplacement de recherche de fichiers .overridetasks, qui permettent de fournir des versions personnalisées de tâches standard. Consultez Tâches MSBuild.

N'incluez pas la barre oblique inverse finale dans le chemin.
MSBuildProgramFiles32 Réservé 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é.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Réservé 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" >
Build
MSBuildProjectDirectory Réservé Chemin 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é.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Réservé Valeur de la propriété MSBuildProjectDirectory, à l'exclusion du lecteur racine.

N'incluez pas la barre oblique inverse finale dans cette propriété.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Réservé Extension de nom du fichier projet, avec le point, par exemple .proj. .csproj
MSBuildProjectFile Réservé Nom complet du fichier projet, avec l’extension de nom de fichier, par exemple MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Réservé Chemin absolu et nom complet du fichier projet, avec l’extension de nom de fichier, par exemple C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Réservé Nom du fichier projet sans l’extension de nom de fichier, par exemple MyApp. ConsoleApp1
MSBuildRuntimeType Réservé Type du runtime en cours d’exécution. Introduit dans MSBuild 15. La valeur peut être indéfinie (avant MSBuild 15), Full indiquant que MSBuild s’exécute sur le .NET Framework pour applications de bureau, Core indiquant que MSBuild s’exécute sur .NET Core (par exemple dans dotnet build) ou Mono indiquant que MSBuild s’exécute sur Mono. Full
MSBuildStartupDirectory Réservé Chemin absolu du dossier où MSBuild est appelé. À l’aide de cette propriété, vous pouvez générer tout ce qui se trouve sous un point spécifique d’une arborescence de 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é.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Réservé Nom de fichier et partie de l'extension de fichier de MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Réservé Partie de répertoire de MSBuildThisFileFullPath.

Incluez la barre oblique inverse finale dans le chemin.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Réservé Partie de répertoire de MSBuildThisFileFullPath, à l'exclusion du lecteur racine.

Incluez la barre oblique inverse finale dans le chemin.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Réservé Partie de l'extension du nom de fichier de MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Réservé 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 au fichier projet d’origine.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Réservé Partie du nom de fichier de MSBuildThisFileFullPath, sans l'extension de nom de fichier. ConsoleApp1
MSBuildToolsPath Réservé Chemin d’installation de la version de MSBuild 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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsPath32 Connue Chemin d’installation de la version 32 bits de MSBuild 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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin
MSBuildToolsPath64 Connue Chemin d’installation de la version 64 bits de MSBuild 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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Réservé Version de l’ensemble d’outils MSBuild utilisé pour générer le projet.

Remarque : Un ensemble d’outils MSBuild se compose de tâches, de cibles et d’outils qui sont utilisés pour générer une application. Les outils incluent des compilateurs tels que csc.exe et vbc.exe. Pour plus d’informations, voir Ensemble d’outils (ToolsVersion) et Configurations standard et personnalisées des ensembles d’outils.
Current
MSBuildSDKsPath Connue Chemin utilisé par MSBuild pour rechercher les kits SDK. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks
MSBuildSemanticVersion Réservé Version SemVer 2.0 complète des assemblys MSBuild utilisés pour générer le projet. 17.4.0-preview-22465-05+6033e4c95
MSBuildUserExtensionsPath Connue Ce chemin fournit l’emplacement du dossier d’installation de MSBuild. Il peut être réinitialisé pour fournir des personnalisations locales par utilisateur. Consultez Personnaliser votre build locale.

N'incluez pas la barre oblique inverse finale dans le chemin.
MSBuildVersion Réservé Version de MSBuild utilisée pour générer le projet.

Cette propriété ne peut pas être substituée, sinon le message d’erreur MSB4004 - The 'MSBuildVersion' property is reserved, and can not be modified. est retourné.
17.4.0
MSBuildWarningsAsErrors Connue Liste de codes d’avertissement à traiter en tant qu’erreurs. MSB1234;MSB5678
MSBuildWarningsAsMessages Connue Liste de codes d’avertissement à traiter en tant que messages. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Connue Liste de codes d’avertissement qui ne doivent pas être promus en erreurs, même si le commutateur -warnAsError est défini pour promouvoir tous les autres avertissements en erreurs. Notez que cela n’a aucun effet si ce n’est pas vrai. MSB1234;MSB5678
OS Connue Sur Windows, cette propriété est héritée du système d’exploitation hôte. Les valeurs possibles sont « Windows_NT » et « Unix » ; ces valeurs peuvent être définies différemment sur des systèmes d’exploitation autres que Windows.
RoslynTargetsPath Connue Chemin des cibles pour les compilateurs Roslyn. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Connue Chemin des outils .NET Framework 3.5.
SDK40ToolsPath Connue Chemin des outils .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Connue Dossier d’installation de Visual Studio. C:\Program Files\Microsoft Visual Studio\2022
WindowsSDK80Path Connue Chemin du kit SDK Windows 8.

Propriétés spécifiques aux projets C++

Les propriétés suivantes représentent le chemin des fichiers d’importation MSBuild C++, par exemple les fichiers .props et .targets, pour les différentes versions de l’ensemble d’outils C++ et les différents systèmes d’exploitation cibles. Les fichiers de ces dossiers représentent l’infrastructure de build C++ et sont essentiels à la génération de tout projet C++ avec MSBuild.

Propriété Réservée ou connue Description Exemple
AndroidTargetsPath Connue Chemin des fichiers d’importation MSBuild C++ pour les builds Android. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\
iOSTargetsPath Connue Chemin des fichiers d’importation MSBuild C++ pour les builds iOS. C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\
VCTargetsPath Connue Chemin des fichiers MSBuild C++ qui prennent en charge le système de build C++. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\
VCTargetsPath10 Connue Chemin des fichiers MSBuild C++ qui prennent en charge l’ensemble d’outils Visual Studio 2010. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
VCTargetsPath11 Connue Chemin des fichiers d’importation MSBuild pour l’ensemble d’outils Visual Studio 2012 (V110). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\
VCTargetsPath12 Connue Chemin des fichiers d’importation MSBuild pour l’ensemble d’outils Visual Studio 2013 (V120). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
VCTargetsPath14 Connue Chemin des fichiers d’importation MSBuild pour l’ensemble d’outils Visual Studio 2015 (V140). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\

Noms en conflit avec des éléments MSBuild

En plus des éléments ci-dessus, les noms correspondant à des éléments de langage MSBuild ne peuvent pas être utilisés pour des propriétés, des éléments ou des métadonnées d’élément définis par l’utilisateur :

  • VisualStudioProject
  • Cible
  • PropertyGroup
  • Sortie
  • ItemGroup
  • UsingTask
  • ProjectExtensions
  • OnError
  • ImportGroup
  • Choose
  • Lorsque le répertoire
  • Otherwise

Voir aussi