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 lorsque 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.

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

Nom de propriété ou de paramètre

Description

AdditionalLibPaths

Spécifie des dossiers supplémentaires dans lesquels les compilateurs doivent rechercher des assemblys de référence.

AddModules

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

Chemin d'accès du fichier AL.exe. Cette propriété remplace la version actuelle du fichier AL.exe pour permettre l'utilisation d'une autre version.

ApplicationIcon

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

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 être un fichier externe installé avec les assemblys de votre application. Pour plus d'informations, consultez la propriété NoWin32Manifest dans cette rubrique.

AssemblyOriginatorKeyFile

Spécifie le fichier utilisé pour signer l'assembly (.snk ou .pfx) et passé à la ResolveKeySource, tâche pour générer la clé réelle utilisée pour signer l'assembly.

AssemblySearchPaths

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 dans lequel les chemins d'accès apparaissent dans cette liste est significatif, car les chemins répertoriés antérieurement ont priorité sur les entrées ultérieures.

AssemblyName

Nom de l'assembly de sortie définitif après génération du projet.

BaseAddress

Spécifie l'adresse de base de l'assembly de sortie principal. Cette propriété est équivalente au commutateur /baseaddress du compilateur.

BaseOutputPath

Spécifie le chemin d'accès de base du fichier de sortie. S'il est défini, MSBuild utilise OutputPath = $(BaseOutputPath)\$(Configuration)\. Exemple de syntaxe : <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>

BaseIntermediateOutputPath

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>

BuildInParallel

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

Valeur booléenne qui indique si les références de projet sont générées par MSBuild. Affectez la valeur false si vous générez votre projet dans l'environnement de développement intégré (IDE) Visual Studio, ou true dans le cas contraire.

CleanFile

Nom du fichier qui sera utilisé comme « nettoyeur de cache ». Ce fichier contient 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 n'ont pas d'informations de chemin d'accès.

CodePage

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

Fichier réponse facultatif qui peut être passé aux tâches du compilateur.

Configuration

Configuration que vous générez, "Debug" ou "Release".

CscToolPath

Chemin d'accès de csc.exe, le compilateur Visual C#.

CustomBeforeMicrosoftCommonTargets

Nom d'un fichier projet ou fichier de cibles qui doit être importé automatiquement avant l'importation des cibles communes.

DebugSymbols

Valeur booléenne qui indique si les symboles sont générés par la procédure.

En spécifiant /p:DebugSymbols=false sur la ligne de commande, vous désactivez la génération de fichiers de symboles de la base de données (.pdb) du programme.

DefineConstants

Définit des constantes conditionnelles du compilateur. Les paires symbole/valeur sont séparées par des points-virgules et spécifiées avec la syntaxe suivante :

symbole1 = valeur1 ; symbole2 = valeur2

Cette propriété est équivalente au commutateur /define du compilateur.

DefineDebug

Valeur booléenne qui indique si vous souhaitez que la constante DEBUG soit définie.

DefineTrace

Valeur booléenne qui indique si vous souhaitez que la constante TRACE soit définie.

DebugType

Définit le niveau d'informations de débogage que vous souhaitez générer. Les valeurs valides sont "full", "pdbonly" et "none".

DelaySign

Valeur booléenne qui indique si vous souhaitez différer la signature de l'assembly plutôt que le signer complètement.

DisabledWarnings

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 du compilateur vbc.exe.

DisableFastUpToDateCheck

Valeur booléenne qui s'applique uniquement à Visual Studio. Le gestionnaire de génération Visual Studio utilise un processus appelé FastUpToDateCheck pour déterminer si un projet doit être régénéré pour être à jour. Il est plus rapide d'utiliser ce processus que MSBuild. Affecter à la propriété DisableFastUpToDateCheck la valeur true vous permet d'ignorer le gestionnaire de génération Visual Studio et de le forcer à utiliser MSBuild pour déterminer si le projet est à jour.

DocumentationFile

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.

ErrorReport

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é est équivalente au commutateur /errorreport du compilateur.

ExcludeDeploymentUrl

La GenerateDeploymentManifest, tâche ajoute une balise deploymentProvider au manifeste de déploiement si le fichier du projet contient l'un des éléments suivants :

  • UpdateUrl

  • InstallUrl

  • PublishUrl

En utilisant ExcludeDeploymentUrl, vous pouvez empêcher que la balise deploymentProvider soit ajoutée au manifeste de déploiement même si une des URL ci-dessus est spécifiée. Pour ce faire, ajoutez la propriété suivante à votre fichier projet :

<ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>

Notes

ExcludeDeploymentUrl n'est pas exposé dans l'IDE de Visual Studio et ne peut être défini qu'en modifiant manuellement le fichier projet. Quand elle est définie, cette propriété n'affecte pas la publication dans Visual Studio ; autrement dit, la balise deploymentProvider est toujours ajoutée à l'URL spécifiée par PublishUrl.

FileAlignment

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

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

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.

IntermediateOutputPath

Chemin de sortie intermédiaire complet dérivé de BaseIntermediateOutputPath, si aucun chemin d'accès n'est spécifié. Par exemple, \obj\debug\. Si cette propriété est remplacée, la définition de BaseIntermediateOutputPath n'a alors aucun effet.

KeyContainerName

Nom du conteneur de clé de nom fort.

KeyOriginatorFile

Nom du fichier de clé de nom fort.

NoWin32Manifest

Détermine si le compilateur génère le manifeste Win32 par défaut dans l'assembly de sortie. La valeur par défaut false signifie que le manifeste Win32 par défaut est généré pour toutes les applications. Cette propriété est équivalente au commutateur /nowin32manifest du compilateur de vbc.exe.

ModuleAssemblyName

Nom de l'assembly dans lequel le module compilé doit être incorporé. Cette propriété est équivalente au commutateur /moduleassemblyname du compilateur.

NoLogo

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

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

Valeur booléenne qui indique si le runtime Visual Basic (Microsoft.VisualBasic.dll) doit être inclus comme référence dans le projet.

NoWin32Manifest

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) indique que les informations de manifeste du Contrôle de compte utilisateur seront incorporées dans l'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 ne devez ajouter NoWin32Manifest que si vous ne voulez 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é lorsqu'il existe un nœud <ApplicationManifest>.)

  • Pour les projets Visual C#, affectez à <ApplicationManifest> la valeur False et à <NoWin32Manifest> la valeur True. (Dans les projets Visual C#, <ApplicationManifest> remplace <NoWin32Manifest>.)

Optimize

Valeur booléenne qui, lorsqu'elle correspond à true, active les optimisations du compilateur. Cette propriété est équivalente au commutateur /optimize du compilateur.

OptionCompare

Spécifie la façon dont sont effectuées les comparaisons de chaînes. Les valeurs valides sont "binary" et "text". Cette propriété est équivalente au commutateur /optioncompare du compilateur de vbc.exe.

OptionExplicit

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

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

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.

OutputPath

Spécifie le chemin d'accès au répertoire de sortie, relatif au répertoire de projet, par exemple, "bin\Debug".

OutputType

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.

Cette propriété est équivalente au commutateur /target du compilateur vbc.exe.

OverwriteReadOnlyFiles

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.

PdbFile

Nom du fichier .pdb que vous émettez. Cette propriété est équivalente au commutateur /pdb du compilateur csc.exe.

Plateforme

Système d'exploitation pour lequel vous générez la cible. Les valeurs valides sont « Any CPU », « x86 » et « x64 ».

RemoveIntegerChecks

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.

SGenUseProxyTypes

Valeur booléenne qui indique si les types de proxy doivent être générés par SGen.exe.

La cible SGen utilise cette propriété pour définir l'indicateur UseProxyTypes. Cette propriété a true comme valeur par défaut et aucune option d'interface utilisateur ne permet de modifier cela. 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.

SGenToolPath

Chemin d'accès outil facultatif qui indique où obtenir SGen.exe lorsque la version actuelle de SGen.exe est remplacée.

StartupObject

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.

ProcessorArchitecture

Architecture de processeur utilisée lorsque les références d'assembly sont résolues. Les valeurs valides sont "msil", "x86", "amd64" et "ia64".

RootNamespace

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.

Satellite_AlgorithmId

ID de l'algorithme de hachage AL.exe à utiliser lorsque les assemblys satellites sont créés.

Satellite_BaseAddress

Adresse de base à utiliser lorsque les assemblys satellites spécifiques à la culture sont générés en utilisant la cible CreateSatelliteAssemblies.

Satellite_CompanyName

Nom de la société à passer à AL.exe pendant la génération d'assembly satellite.

Satellite_Configuration

Nom de configuration à passer à AL.exe pendant la génération d'assembly satellite.

Satellite_Description

Texte descriptif à passer à AL.exe pendant la génération d'assembly satellite.

Satellite_EvidenceFile

Incorpore le fichier spécifié dans l'assembly satellite qui possède le nom de ressource "Security.Evidence".

Satellite_FileVersion

Spécifie une chaîne pour le champ Version de fichier de l'assembly satellite.

Satellite_Flags

Spécifie une valeur pour le champ Indicateurs de l'assembly satellite.

Satellite_GenerateFullPaths

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

Lie les fichiers de ressources spécifiés à un assembly satellite.

Satellite_MainEntryPoint

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

Spécifie une chaîne pour le champ Produit de l'assembly satellite.

Satellite_ProductVersion

Spécifie une chaîne pour le champ ProductVersion de l'assembly satellite.

Satellite_TargetType

Spécifie le format de fichier du fichier de sortie de l'assembly satellite : "library", "exe" ou "win". La valeur par défaut est "library".

Satellite_Title

Spécifie une chaîne pour le champ Titre de l'assembly satellite.

Satellite_Trademark

Spécifie une chaîne pour le champ Marque déposée de l'assembly satellite.

Satellite_Version

Spécifie les informations de version concernant l'assembly satellite.

Satellite_Win32Icon

Insère un fichier icône .ico dans l'assembly satellite.

Satellite_Win32Resource

Insère une ressource Win32 (fichier .res) dans l'assembly satellite.

SubsystemVersion

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

Version du .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

Version du .NET 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.

TreatWarningsAsErrors

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.

UseHostCompilerIfAvailable

Paramètre booléen qui, s'il a pour valeur true, force la tâche de génération à utiliser l'objet de compilateur in-process, s'il est disponible. Ce paramètre est utilisé uniquement par Visual Studio.

Utf8Output

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.

VbcToolPath

Chemin d'accès facultatif qui indique un autre emplacement pour vbc.exe lorsque la version actuelle de vbc.exe est remplacée.

VbcVerbosity

Spécifie le niveau de commentaires de la sortie du compilateur Visual Basic. Les valeurs valides sont "Quiet", "Normal" (valeur par défaut) et "Verbose".

VisualStudioVersion

Spécifie la version de Visual Studio dans laquelle ce projet doit être considéré comme s'exécutant. Si cette propriété est omise, MSBuild la définit en tant que valeur par défaut raisonnable.

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 MSBuild (ToolsVersion).

WarningsAsErrors

Spécifie une liste d'avertissements à traiter comme des erreurs. Ce paramètre est équivalent au commutateur /warnaserror du compilateur.

WarningsNotAsErrors

Spécifie une liste d'avertissements à ne pas traiter comme des erreurs. Ce paramètre est équivalent au commutateur /warnaserror du compilateur.

Win32Manifest

Nom du fichier manifeste qui doit être incorporé dans l'assembly final. Ce paramètre est équivalent au commutateur /win32Manifest du compilateur.

Win32Resource

Nom de fichier de la ressource Win32 à incorporer dans l'assembly final. Ce paramètre est équivalent au commutateur /win32resource du compilateur.

Voir aussi

Référence

Éléments communs des projets MSBuild