Propriétés communes des projets MSBuild

Le tableau ci-dessous répertorie les propriétés fréquemment utilisées qui sont définies dans les fichiers projet Visual Studio ou incluses dans les fichiers .targets fournis par MSBuild.

Les fichiers projet dans Visual Studio (.csproj, .vbproj, .vcxproj et autres) contiennent le code XML MSBuild qui s’exécute quand vous générez un projet à l’aide de l’IDE. Les projets importent généralement un ou plusieurs fichiers .targets pour définir leur processus de génération. Pour plus d’informations, consultez Fichiers .targets MSBuild.

Quand vous définissez des valeurs de propriété, gardez à l’esprit que les propriétés courantes peuvent être définies, réinitialisées ou utilisées dans un certain nombre de fichiers importés. Par conséquent, l’emplacement où vous définissez une propriété est importante : dans votre fichier projet, dans Directory.Build.props ou dans un autre fichier importé. Si vous définissez une propriété à un emplacement donné et que vous n’obtenez pas le résultat attendu, déterminez où et comment la propriété est modifiée ou utilisée dans l’ensemble des fichiers importés par votre projet, notamment dans les importations qui sont ajoutées implicitement quand vous utilisez l’attribut Sdk. Voir Choisir entre l’ajout de propriétés dans un fichier .props ou .targets. Le prétraitement peut aider à effectuer cette tâche (consultez l’option de ligne de commande /preprocess ou /pp dans la section Informations de référence sur la ligne de commande MSBuild).

Liste des propriétés et paramètres courants

Nom de propriété ou de paramètre Types de projet Description
AdditionalLibPaths .NET Spécifie des dossiers supplémentaires dans lesquels les compilateurs doivent rechercher des assemblys de référence.
AddModules .NET Entraîne la mise à disposition par le compilateur de toutes les informations de type à partir des fichiers spécifiés, pour le projet en cours de compilation. Cette propriété est équivalente au commutateur /addModules du compilateur.
ALToolPath .NET Chemin d’accès AL.exe. Cette propriété remplace la version actuelle du fichier AL.exe pour permettre l’utilisation d’une autre version.
ApplicationIcon .NET Fichier icône .ico à passer au compilateur pour qu’il soit incorporé en tant qu’icône Win32. Cette propriété est équivalente au commutateur /win32icon du compilateur.
ApplicationManifest Tous Spécifie le chemin d'accès du fichier utilisé pour générer les informations de manifeste de Contrôle de compte d'utilisateur externe. S’applique uniquement aux projets Visual Studio ciblant Windows Vista.

Dans la plupart des cas, le manifeste est incorporé. Toutefois, si vous utilisez un déploiement COM sans inscription ou ClickOnce, le manifeste peut se présenter sous la forme d’un fichier externe installé avec les assemblys de l’application. Pour plus d’informations, consultez la propriété NoWin32Manifest décrite dans cet article.
AssemblyOriginatorKeyFile .NET Spécifie le fichier utilisé pour signer l’assembly (.snk ou .pfx) et transmis à la tâche ResolveKeySource pour générer la clé réelle permettant de signer l’assembly.
AssemblySearchPaths .NET Liste d'emplacements dans lesquels il convient de rechercher au cours de la résolution de l'assembly de référence au moment de la génération. L’ordre des chemins dans cette liste est significatif, car les chemins répertoriés précédemment ont priorité sur les entrées ultérieures.
AssemblyName .NET Nom de l'assembly de sortie définitif après génération du projet.
Nom de propriété ou de paramètre Types de projet Description
BaseAddress .NET Spécifie l'adresse de base de l'assembly de sortie principal. Cette propriété est équivalente au commutateur /baseaddress du compilateur.
BaseIntermediateOutputPath Tous Dossier de niveau supérieur dans lequel tous les dossiers de sortie intermédiaires spécifiques à la configuration sont créés. La valeur par défaut est obj\. Le code suivant est un exemple : <BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath>
BaseOutputPath Tous Spécifie le chemin d'accès de base du fichier de sortie. Si la valeur est définie, MSBuild utilise OutputPath = $(BaseOutputPath)\$(Configuration)\. Exemple de syntaxe : <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>
BuildInParallel Tous Valeur booléenne qui indique si les références de projet sont générées ou nettoyées en parallèle lorsque MSBuild est utilisé en multiprocesseur. La valeur par défaut est true, ce qui signifie que les projets seront générés en parallèle si le système possède plusieurs cœurs ou processeurs.
BuildProjectReferences Tous Valeur booléenne qui indique si les références de projet sont générées par MSBuild. La valeur est définie automatiquement sur false si vous générez votre projet dans l’environnement IDE (Environnement de développement intégré) Visual Studio. Dans le cas contraire, elle est définie sur true. -p:BuildProjectReferences=false peut être spécifié sur la ligne de commande pour éviter de vérifier si les projets référencés sont à jour.
Nom de propriété ou de paramètre Types de projet Description
CleanFile Tous Nom du fichier qui sera utilisé comme « cache de nettoyage ». Le cache de nettoyage est une liste de fichiers générés à supprimer pendant l’opération de nettoyage. Le fichier est placé dans le chemin de sortie intermédiaire par le processus de génération.

Cette propriété spécifie uniquement des noms de fichier qui ne contiennent pas d’informations sur le chemin d’accès.
CodePage .NET Spécifie la page de codes à utiliser pour tous les fichiers de code source inclus dans la compilation. Cette propriété est équivalente au commutateur /codepage du compilateur.
CompilerResponseFile .NET Fichier réponse facultatif qui peut être passé aux tâches du compilateur.
Configuration Tous Configuration générée, généralement Debug ou Release, mais configurable au niveau de la solution et du projet.
CscToolPath C# Chemin de csc.exe, le compilateur C#.
CustomAfterMicrosoftCommonTargets Tous Nom d’un fichier projet ou fichier de cibles qui doit être importé automatiquement après l’importation des cibles communes.
CustomBeforeMicrosoftCommonTargets Tous Nom d'un fichier projet ou fichier de cibles qui doit être importé automatiquement avant l'importation des cibles communes.
Nom de propriété ou de paramètre Types de projet Description
DebugSymbols Tous Valeur booléenne qui indique si les symboles sont générés par la procédure.

En spécifiant /p:DebugSymbols=false en ligne de commande, vous désactivez la génération de fichiers de symboles de la base de données du programme (.pdb).
DebugType Tous Définit le niveau d'informations de débogage que vous souhaitez générer. Les valeurs valides sont « full », « pdbonly », « portable », « embedded » et « none ».
DefineConstants .NET Définit des constantes conditionnelles du compilateur. Les paires symbole/valeur sont séparées par des points-virgules et sont spécifiées à l’aide de la syntaxe dépendante du langage :

C#: symbol1; symbol2

Visual Basic : symbol1 = value1, symbol2 = value2

Cette propriété est équivalente au commutateur /define du compilateur.
DefineDebug Tous Valeur booléenne qui indique si vous souhaitez que la constante DEBUG soit définie.
DefineTrace Tous Valeur booléenne qui indique si vous souhaitez que la constante TRACE soit définie.
DelaySign .NET Valeur booléenne qui indique si vous souhaitez différer la signature de l'assembly plutôt que le signer complètement.
Déterministe .NET Valeur booléenne qui indique si le compilateur doit produire des assemblys identiques pour des entrées identiques. Ce paramètre correspond au commutateur /deterministic des compilateurs.
DirectoryBuildPropsPath Tous Spécifie le chemin du fichier Directory.Build.props. Si elle est définie, cette propriété remplace l’algorithme de recherche par défaut. Consultez Personnaliser votre build.
DirectoryBuildTargetsPath Tous Spécifie le chemin du fichier Directory.Build.targets. Si elle est définie, cette propriété remplace l’algorithme de recherche par défaut. Consultez Personnaliser votre build.
DisableFastUpToDateCheck Tous Valeur booléenne qui s’applique uniquement à Visual Studio. Le gestionnaire de build de Visual Studio suit un processus appelé FastUpToDateCheck pour déterminer si un projet doit être régénéré pour être à jour. Il est plus rapide à cette fin d’utiliser ce processus que MSBuild. Le fait d’affecter à la propriété DisableFastUpToDateCheck la valeur true vous permet d’ignorer le gestionnaire de build de Visual Studio et de le forcer à utiliser MSBuild pour déterminer si le projet est à jour.
DocumentationFile .NET Nom du fichier généré en tant que fichier de documentation XML. Ce nom inclut uniquement le nom du fichier et ne comporte aucune information de chemin d'accès.
Nom de propriété ou de paramètre Types de projet Description
ErrorReport .NET Indique comment la tâche du compilateur doit signaler les erreurs internes du compilateur. Les valeurs valides sont « prompt », « send » et « none ». Cette propriété équivaut au commutateur de compilateur /errorreport.
ExcludeDeploymentUrl .NET La tâche GenerateDeploymentManifest ajoute une balise deploymentProvider au manifeste de déploiement si le fichier projet contient l’un des éléments suivants :

- UpdateUrl
- InstallUrl
- PublishUrl

En utilisant ExcludeDeploymentUrl, toutefois, vous pouvez empêcher l’étiquette deploymentProvider d’être ajoutée au manifeste de déploiement même si l’une des URL ci-dessus est spécifiée. Pour cela, ajoutez la propriété suivante à votre fichier projet :

<ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>

Remarque : la propriété ExcludeDeploymentUrl n’est pas exposée dans l’environnement IDE Visual Studio. Pour la définir, vous devez modifier manuellement le fichier projet. La définition de cette propriété n’affecte pas la publication dans Visual Studio. Cela signifie que la balise deploymentProvider est quand même ajoutée à l’URL spécifiée par PublishUrl.
FileAlignment .NET Spécifie, en octets, où les sections du fichier de sortie doivent être alignées. Les valeurs valides sont 512, 1024, 2048, 4096, 8192. Cette propriété est équivalente au commutateur /filealignment du compilateur.
FrameworkPathOverride Visual Basic Spécifie l’emplacement de mscorlib.dll et de microsoft.visualbasic.dll. Ce paramètre est équivalent au commutateur /sdkpath du compilateur vbc.exe.
GenerateDocumentation .NET Paramètre booléen qui indique si la documentation est générée par la procédure. Si sa valeur est true, les informations de documentation sont générées et placées dans un fichier .xml avec le nom de la bibliothèque ou du fichier exécutable créé par la tâche de génération.
GenerateFullPaths C# Génère des chemins d’accès complets pour les noms de fichiers dans la sortie à l’aide de l’option de compilateur -fullpaths.
GenerateSerializationAssemblies .NET Indique si les assemblys de sérialisation XML doivent être générés par SGen.exe, qui peut être défini sur on, auto ou off. Cette propriété est utilisée pour les assemblys qui ciblent le .NET Framework uniquement. Pour générer des assemblys de sérialisation XML pour des assemblys .NET Standard ou .NET Core, référencez le package NuGet Microsoft.XmlSerializer.Generator.
Nom de propriété ou de paramètre Types de projet Description
ImportDirectoryBuildProps Tous Valeur booléenne qui indique s’il faut importer un fichier Directory.Build.props. Consultez Personnaliser votre build.
ImportDirectoryBuildTargets Tous Valeur booléenne qui indique s’il faut importer un fichier Directory.Build.targets. Consultez Personnaliser votre build.
IntermediateOutputPath Tous Chemin de sortie intermédiaire complet dérivé de BaseIntermediateOutputPath, si aucun chemin d'accès n'est spécifié. Exemple : \obj\debug\.
KeyContainerName Tous Nom du conteneur de clé de nom fort.
KeyOriginatorFile Tous Nom du fichier de clé de nom fort.
ModuleAssemblyName .NET Nom de l'assembly dans lequel le module compilé doit être incorporé. Cette propriété est équivalente au commutateur /moduleassemblyname du compilateur.
MSBuildProjectExtensionsPath Tous Spécifie le chemin dans lequel se trouvent les extensions de projet. Sa valeur par défaut est la même que BaseIntermediateOutputPath.
MSBuildTreatWarningsAsErrors Tous Valeur booléenne qui indique à MSBuild de traiter tous les avertissements comme des erreurs, sauf s’ils sont supprimés.
MSBuildWarningsAsErrors Tous Spécifie une liste d’avertissements à traiter comme des erreurs. Séparez les avertissements par des points-virgules. Si vous utilisez la propriété du kit SDK .NET WarningsAsErrors, la valeur par défaut de MSBuildWarningsAsErrors est WarningsAsErrors.
MSBuildWarningsAsMessages Tous Spécifie une liste de codes d’avertissement à supprimer en les traitant comme des messages de faible importance. Séparez les avertissements par des points-virgules. Notez que certains avertissements émis par MSBuild ne peuvent pas être supprimés à l’aide de cette propriété. Pour les supprimer, utilisez le commutateur de ligne de commande -warnAsMessage. Si vous utilisez la propriété du kit SDK .NET NoWarn, la valeur par défaut de MSBuildWarningsAsMessages est NoWarn.
Nom de propriété ou de paramètre Types de projet Description
NoLogo Tous Valeur booléenne qui indique si vous souhaitez que le logo du compilateur soit désactivé. Cette propriété est équivalente au commutateur /nologo du compilateur.
NoStdLib .NET Valeur booléenne qui indique s’il faut éviter de référencer la bibliothèque standard (mscorlib.dll). La valeur par défaut est false.
NoVBRuntimeReference Visual Basic Valeur booléenne qui indique si le runtime Visual Basic (Microsoft.VisualBasic.dll) doit être inclus comme référence dans le projet.
NoWarn .NET Supprime les avertissements spécifiés. Seule la partie numérique de l'identificateur d'avertissement doit être spécifiée. Les différents avertissements sont séparés par des points-virgules. Ce paramètre correspond au commutateur /nowarn des compilateurs.
NoWin32Manifest .NET Valeur booléenne qui indique si les informations de manifeste de Contrôle de compte d'utilisateur seront incorporées dans l'exécutable de l'application. S’applique uniquement aux projets Visual Studio ciblant Windows Vista. Dans les projets déployés à l’aide de ClickOnce et de COM sans inscription, cet élément est ignoré. False (valeur par défaut) spécifie que les informations de manifeste de Contrôle de compte d'utilisateur doivent être incorporées dans le fichier exécutable de l'application. True spécifie que les informations de manifeste de Contrôle de compte d'utilisateur ne doivent pas être incorporées.

Cette propriété s’applique uniquement aux projets Visual Studio ciblant Windows Vista. Dans les projets déployés à l’aide de ClickOnce et de COM sans inscription, cette propriété est ignorée.

Vous devez ajouter NoWin32Manifest uniquement si vous ne souhaitez pas que Visual Studio incorpore la moindre information de manifeste dans l’exécutable de l’application. Ce processus s’appelle virtualisation. Pour utiliser la virtualisation, définissez <ApplicationManifest> conjointement à <NoWin32Manifest>, comme suit :

- Pour les projets Visual Basic, supprimez le nœud <ApplicationManifest> (dans les projets Visual Basic, <NoWin32Manifest> est ignoré s’il existe un nœud <ApplicationManifest>).
- Pour les projets C#, affectez à <ApplicationManifest> la valeur False et à <NoWin32Manifest> la valeur True (dans les projets C#, <ApplicationManifest> remplace <NoWin32Manifest>).
Cette propriété est équivalente au commutateur /nowin32manifest du compilateur vbc.exe.
Optimiser .NET Valeur booléenne qui, lorsqu'elle correspond à true, active les optimisations du compilateur. Cette propriété est équivalente au commutateur /optimize du compilateur.
OptionCompare VisualBasic Spécifie la façon dont sont effectuées les comparaisons de chaînes. Les valeurs valides sont « binary » et « text ». Cette propriété équivaut au commutateur de compilateur /optioncompare de vbc.exe.
OptionExplicit Visual Basic Valeur booléenne qui, lorsqu'elle correspond à true, requiert une déclaration explicite des variables dans le code source. Cette propriété est équivalente au commutateur /optionexplicit du compilateur.
OptionInfer Visual Basic Valeur booléenne qui, lorsqu'elle correspond à true, active l'inférence de type des variables. Cette propriété est équivalente au commutateur /optioninfer du compilateur.
OptionStrict Visual Basic Valeur booléenne qui, lorsqu'elle correspond à true, pousse la tâche de génération à appliquer une sémantique de type stricte pour restreindre les conversions de types implicites. Cette propriété est équivalente au commutateur /optionstrict du compilateur vbc.exe.
OutDir Tous Indique l’emplacement de sortie final du projet ou de la solution. Lors de la génération d’une solution, OutDir peut être utilisé pour collecter plusieurs sorties de projet dans un même emplacement. En outre, OutDir est inclus dans la propriété AssemblySearchPaths utilisée pour la résolution des références, par exemple bin\Debug.
OutputPath Tous Spécifie le chemin relatif du répertoire de sortie par rapport au répertoire de projet, par exemple bin\Debug ou bin\Debug\$(Platform) dans les builds autres que AnyCPU.
OutputType Tous Spécifie le format de fichier du fichier de sortie. Ce paramètre peut prendre l'une des valeurs suivantes :

- Library : Crée une bibliothèque de code. (Valeur par défaut)
- Exe : Crée une application console.
- Module : Crée un module.
- WinExe : Crée un programme Windows.

Pour C# et Visual Basic, cette propriété est équivalente au commutateur /target. Le type de sortie peut être automatiquement remplacé par l’inférence. Cf. OutputType défini sur WinExe pour les applications WPF et WinForms. Désactivez l’inférence en définissant DisableWinExeOutputInference sur true.
OverwriteReadOnlyFiles Tous Valeur booléenne qui indique si vous souhaitez permettre à la génération de remplacer les fichiers en lecture seule ou de générer une erreur.
Nom de propriété ou de paramètre Types de projet Description
PathMap .NET Valeur qui indique comment mapper les chemins d’accès physiques avec les noms de chemins d’accès sources générés en sortie par le compilateur. Cette propriété est équivalente au commutateur de compilateur /pathmap.
PdbFile .NET Nom du fichier .pdb que vous émettez. Cette propriété est équivalente au commutateur /pdb du compilateur csc.exe.
Plateforme Tous Système d’exploitation pour la génération. Exemples de builds .NET Framework : « N’importe quel processeur », « x86 » et « x64 ».
ProcessorArchitecture .NET Architecture de processeur utilisée lorsque les références d'assembly sont résolues. Les valeurs valides sont "msil", "x86", "amd64" et "ia64".
ProduceOnlyReferenceAssembly .NET Valeur booléenne qui spécifie que le compilateur doit seulement émettre un assembly de référence, plutôt que le code compilé. Ne peut pas être utilisé conjointement avec ProduceReferenceAssembly. Cette propriété correspond au commutateur /refonly des compilateurs vbc.exe et csc.exe.
ProduceReferenceAssembly .NET Valeur booléenne qui, lorsqu’elle est définie sur true, permet la production d’assemblys de référence pour l’assembly actuel. Deterministic doit être true lors de l’utilisation de cette fonctionnalité. Cette propriété correspond au commutateur /refout des compilateurs vbc.exe et csc.exe.
RegisterAssemblyMSBuildArchitecture Windows uniquement Spécifie l’architecture par défaut pour laquelle la DLL managée est inscrite. Cette propriété est utile, car COM utilise le registre Windows pour stocker les inscriptions dans des ruches spécifiques à l’architecture. Par exemple, sur un système Windows, un assembly managé AnyCPU peut avoir ses types inscrits dans la ruche 64 bits et/ou dans la ruche 32 bits (WoW), et la build utilise cette propriété pour déterminer quelle ruche de registre spécifique à l’architecture à utiliser. Les valeurs valides incluent « x86 », « x64 » et « ARM64 ».
RegisterForCOMInterop Windows uniquement Indique que votre application managée expose un objet COM (un COM Callable Wrapper). Consultez dans la page Build, la section Sortie. Ce paramètre affecte uniquement l’ordinateur sur lequel le projet est généré. Si vous effectuez un déploiement sur d’autres ordinateurs, appelez regasm.exe pour inscrire l’assembly sur l’ordinateur cible.
RemoveIntegerChecks Visual Basic Valeur booléenne indiquant s'il convient de désactiver les contrôles d'erreurs de dépassement sur les entiers. La valeur par défaut est false. Cette propriété est équivalente au commutateur /removeintchecks du compilateur vbc.exe.
RootNamespace Tous Espace de noms racine à utiliser lorsque vous nommez une ressource incorporée. Cet espace de noms fait partie du nom du manifeste de ressources incorporées.
Nom de propriété ou de paramètre Types de projet Description
Satellite_AlgorithmId .NET ID de l’algorithme de hachage AL.exe à utiliser quand les assemblys satellites sont créés.
Satellite_BaseAddress .NET Adresse de base à utiliser lorsque les assemblys satellites spécifiques à la culture sont générés en utilisant la cible CreateSatelliteAssemblies.
Satellite_CompanyName .NET Nom de la société à passer à AL.exe pendant la génération d’assembly satellite.
Satellite_Configuration .NET Nom de configuration à passer à AL.exe pendant la génération d’assembly satellite.
Satellite_Description .NET Texte descriptif à passer à AL.exe pendant la génération d’assembly satellite.
Satellite_EvidenceFile .NET Incorpore le fichier spécifié dans l'assembly satellite qui possède le nom de ressource "Security.Evidence".
Satellite_FileVersion .NET Spécifie une chaîne pour le champ Version de fichier de l'assembly satellite.
Satellite_Flags .NET Spécifie une valeur pour le champ Indicateurs de l'assembly satellite.
Satellite_GenerateFullPaths .NET Force la tâche de génération à utiliser des chemins d'accès absolus pour tous les fichiers signalés dans un message d'erreur.
Satellite_LinkResource .NET Lie les fichiers de ressources spécifiés à un assembly satellite.
Satellite_MainEntryPoint .NET Spécifie le nom qualifié complet (autrement dit, class.method) de la méthode à utiliser comme point d'entrée lorsqu'un module est converti en fichier exécutable pendant la génération d'assembly satellite.
Satellite_ProductName .NET Spécifie une chaîne pour le champ Produit de l'assembly satellite.
Satellite_ProductVersion .NET Spécifie une chaîne pour le champ ProductVersion de l'assembly satellite.
Satellite_TargetType .NET Spécifie le format du fichier de sortie de l’assembly satellite : « library » (valeur par défaut), « exe » ou « win ».
Satellite_Title .NET Spécifie une chaîne pour le champ Titre de l'assembly satellite.
Satellite_Trademark .NET Spécifie une chaîne pour le champ Marque déposée de l'assembly satellite.
Satellite_Version .NET Spécifie les informations de version concernant l'assembly satellite.
Satellite_Win32Icon .NET Insère un fichier icône .ico dans l’assembly satellite.
Satellite_Win32Resource .NET Insère une ressource Win32 (fichier .res) dans l’assembly satellite.
SGenToolPath .NET Chemin de l’outil facultatif qui indique où obtenir SGen.exe quand la version actuelle de SGen.exe est remplacée.
Nom de propriété ou de paramètre Types de projet Description
SGenUseProxyTypes .NET Valeur booléenne qui indique si les types de proxy doivent être générés par SGen.exe. Elle ne s’applique que si GenerateSerializationAssemblies est défini sur on.

La cible SGen utilise cette propriété pour définir l'indicateur UseProxyTypes. Cette propriété est définie sur true par défaut et aucune option d’interface utilisateur ne permet de la modifier. Pour générer l’assembly de sérialisation pour les types non-webservice, ajoutez cette propriété au fichier projet et affectez-lui la valeur false avant d’importer Microsoft.Common.Targets ou C#/VB.targets.
SkipInvalidConfigurations Tous Si la valeur est true, génère un avertissement sur des combinaisons de plateforme et de configuration non valides, sans entraîner l’échec du build. Si la valeur est false ou non définie (valeur par défaut), génère une erreur.
StartupObject .NET Spécifie la classe ou le module qui contient la méthode Main ou la procédure Sub Main. Cette propriété est équivalente au commutateur /main du compilateur.
SubsystemVersion .NET Spécifie la version minimale du sous-système utilisable par le fichier exécutable généré. Cette propriété est équivalente au commutateur /subsystemversion du compilateur. Pour plus d’informations sur la valeur par défaut de cette propriété, consultez /subsystemversion (Visual Basic) ou /subsystemversion (options du compilateur C#).
TargetCompactFramework .NET Version de .NET Compact Framework requise pour exécuter l’application que vous générez. La spécification de ce paramètre vous permet de référencer certains assemblys Framework que vous ne pourriez peut-être pas référencer autrement.
TargetFrameworkVersion .NET Version de .NET Framework nécessaire pour exécuter l’application que vous générez. La spécification de ce paramètre vous permet de référencer certains assemblys Framework que vous ne pourriez peut-être pas référencer autrement.
TreatWarningsAsErrors .NET Paramètre booléen qui, s'il a pour valeur true, entraîne le traitement de tous les avertissements comme des erreurs. Ce paramètre est équivalent au commutateur /nowarn du compilateur.
UseCommonOutputDirectory .NET Propriété booléenne qui spécifie si toutes les sorties de build d’une solution utilisent le même répertoire de sortie (true). Si la valeur est true, la sortie des projets référencés n’est pas copiée dans les projets qui utilisent ces dépendances, comme c’est normalement le cas quand ce paramètre est défini sur false. Si vous définissez ce paramètre sur true, cela ne modifie pas le répertoire de sortie réel des projets. Vous devez quand même définir le répertoire de sortie sur le répertoire de sortie commun souhaité pour chaque projet qui en a besoin.
UseHostCompilerIfAvailable .NET Paramètre booléen qui, s’il est défini sur true, force la tâche de génération à utiliser l’objet de compilateur In-process, s’il est disponible. Ce paramètre n’est utilisé que par Visual Studio.
Utf8Output .NET Paramètre booléen qui, s'il a pour valeur true, consigne la sortie du compilateur en utilisant l'encodage UTF-8. Ce paramètre est équivalent au commutateur /utf8Output du compilateur.
Nom de propriété ou de paramètre Types de projet Description
VbcToolPath Visual Basic Chemin facultatif qui indique un autre emplacement pour vbc.exe quand la version actuelle de vbc.exe est remplacée.
VbcVerbosity Visual Basic Spécifie la verbosité de la sortie du compilateur Visual Basic. Les valeurs valides sont « Quiet », « Normal » (valeur par défaut) et « Verbose ».
VisualStudioVersion Tous Spécifie la version de Visual Studio dans laquelle ce projet doit être considéré comme s'exécutant. Si cette propriété n’est pas spécifiée, MSBuild la définit sur une valeur par défaut ({VisualStudioMajorVersion}.0), par exemple 17.0 pour toutes les versions de Visual Studio 2022.

Cette propriété est utilisée dans plusieurs types de projet pour spécifier l'ensemble des cibles utilisées pour la génération. Si ToolsVersion a la valeur 4.0 ou ultérieure pour un projet, VisualStudioVersion est utilisé pour spécifier le sous-ensemble d'outils à utiliser. Pour plus d’informations, consultez Ensemble d’outils (ToolsVersion).
WarningsAsErrors .NET Spécifie une liste d'avertissements à traiter comme des erreurs. Ce paramètre est équivalent au commutateur /warnaserror du compilateur.
WarningLevel Tous Spécifie le niveau d’avertissement à passer aux compilateurs pour les avertissements émis par le compilateur. Ce paramètre n’affecte pas les avertissements MSBuild, qui ne possèdent pas de désignations de niveau. Cf. Niveau d’avertissement dans la documentation du compilateur C# et /W (niveau d’avertissement) dans la documentation du compilateur C++.
WarningsNotAsErrors .NET Spécifie une liste d’avertissements qui ne sont pas traités comme des erreurs. Ce paramètre est équivalent au commutateur /warnaserror du compilateur.
Win32Manifest .NET Nom du fichier manifeste qui doit être incorporé dans l'assembly final. Ce paramètre est équivalent au commutateur /win32Manifest du compilateur.
Win32Resource .NET Nom de fichier de la ressource Win32 à incorporer dans l'assembly final. Ce paramètre est équivalent au commutateur /win32resource du compilateur.

Les propriétés propres aux projets SDK .NET (par exemple TargetFramework) sont documentées dans Propriétés du framework.

Voir aussi