Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les propriétés MSBuild contrôlent le comportement des cibles . Ils sont spécifiés dans le fichier projet, par exemple MyApp.csproj, dans un groupe de propriétés MSBuild.
AltoolPath
Chemin complet de l’outil altool.
Le comportement par défaut consiste à utiliser xcrun altool.
AppBundleResourcePrefix
Répertoire dans lequel les ressources sont stockées (ce préfixe est supprimé lors de la copie de ressources dans le bundle d’applications).
Si elle n’est pas définie explicitement, cette propriété hérite de sa valeur des propriétés de préfixe de ressource spécifiques à la plateforme (IPhoneResourcePrefix, MonoMacResourcePrefix ou XamMacResourcePrefix en fonction de la plateforme).
Valeur par défaut : « Ressources »
AppBundleDir
Emplacement du bundle d’applications généré.
AppBundleExtraOptions
Arguments supplémentaires avancés pour la création d’un bundle d’applications.
L’ensemble d’arguments valide dépend de la plateforme.
En règle générale, elles ne doivent pas être utilisées, sauf si elles sont spécifiées par un ingénieur Microsoft.
Icône de l'application
Le groupe d’éléments AppIcon peut être utilisé pour spécifier une icône d’application pour l’application.
La valeur de la propriété doit pointer vers le nom de fichier d’une ressource d’image .appiconset (pour iOS, macOS et Mac Catalyst) ou .brandassets (pour tvOS) à l’intérieur d’un catalogue de ressources.
Exemple:
<PropertyGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAppIcon.appiconset" resource would be "MyAppIcon" -->
<AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>
Voir aussi :
- Groupe d’éléments AlternateAppIcon.
- Propriété IncludeAllAppIcons.
Version d'affichage de l'application
Si elle est définie, spécifie la valeur CFBundleShortVersionString dans le manifeste de l’application (Info.plist).
Il s’agit d’une propriété qui prend en charge «Projet unique .NET».
Pour plus d’informations, consultez OneDotNetSingleProject.
ApplicationId
Si elle est définie, spécifie la valeur CFBundleIdentifier dans le manifeste de l’application (Info.plist).
Il s’agit d’une propriété qui prend en charge «Projet unique .NET».
Pour plus d’informations, consultez OneDotNetSingleProject.
TitreDeLApplication
Si elle est définie, spécifie la CFBundleDisplayName dans le manifeste de l’application (Info.plist).
Il s’agit d’une propriété qui prend en charge «Projet unique .NET».
Pour plus d’informations, consultez OneDotNetSingleProject.
Version de l'application
Si elle est définie, spécifie la CFBundleVersion dans le manifeste de l’application (Info.plist).
Il s’agit d’une propriété qui prend en charge «Projet unique .NET».
Pour plus d’informations, consultez OneDotNetSingleProject.
ArchiveBasePath
Emplacement où les archives sont stockées sur Windows pour une build distante.
La valeur par défaut est : %LocalAppData%\Xamarin\iOS\Archives
Applicable uniquement aux projets iOS (étant donné que seuls les projets iOS peuvent être générés à distance à partir de Windows).
ArchiveOnBuild
Si une archive Xcode doit être créée à la fin de la build.
BGenEmitDebugInformation
Indique si l’outil bgen (générateur de liaison) doit ou non émettre des informations de débogage.
Le comportement par défaut est true lorsque la propriété Debug est définie sur true.
BGenExtraArgs
Tous les arguments supplémentaires pour l’outil bgen (générateur de liaisons).
BGenToolExe
Nom de l’exécutable bgen (outil utilisé par les projets de liaison pour générer des liaisons).
Le comportement par défaut consiste à utiliser l’outil bgen fourni avec notre charge de travail.
BGenToolPath
Le répertoire où se situe le bgen (BGenToolExe).
Le comportement par défaut consiste à utiliser l’outil bgen fourni avec notre charge de travail.
BuildIpa
Si un package (.ipa) doit être créé pour le bundle d’applications à la fin de la build.
Applicable uniquement aux projets iOS et tvOS.
Consultez createPackage pour les projets macOS et Mac Catalyst.
BundleCreateDump
CoreCLR a un utilitaire de ligne de commande appelé createdump pour créer des vidages de base si le processus se bloque. macOS crée automatiquement des rapports d’incident pour toutes les applications App Store et les met à la disposition du développeur d’applications. Par conséquent, l’outil createdump n’est pas utile pour de nombreuses applications macOS et, par conséquent, il n’est pas inclus dans les applications par défaut.
Cela peut être substitué en définissant la BundleCreateDump propriété :
<PropertyGroup>
<BundleCreateDump>true</BundleCreateDump>
</PropertyGroup>
Remarque : l’outil createdump ne fonctionne actuellement pas pour les applications en bac à sable (#18961) ;
Applicable uniquement aux projets qui utilisent le runtime CoreCLR (qui, au moment de cette écriture, est uniquement des projets macOS).
BundleOriginalResources
Cette propriété détermine si les ressources sont compilées avant d’être incorporées dans des projets de bibliothèque ou si la version d’origine (non compilée) est incorporée.
Historiquement, les ressources ont été compilées avant d’être incorporées dans des projets de bibliothèque, mais cela nécessite que Xcode soit disponible, ce qui présente quelques inconvénients :
- Il ralentit les builds distantes sur Windows.
- Il ne fonctionnera pas lors de la génération locale sur Windows, ni sur une autre plateforme, sauf macOS.
- Les ressources sont compilées à l’aide du Xcode disponible actuel, qui n’a peut-être pas les mêmes fonctionnalités qu’un Xcode potentiellement plus récent disponible lorsque la bibliothèque en question est consommée.
- Il est impossible d’avoir une vue complète de tous les programmes lors de la création d’une application, ce qui est nécessaire pour détecter les conflits de ressources.
Par conséquent, nous avons ajouté la prise en charge de l'intégration des ressources originales dans des bibliothèques. Cette fonctionnalité sera facultative dans .NET 9, mais deviendra activée par défaut à partir de .NET 10.
Valeur par défaut de cette propriété false dans .NET 9 et true dans .NET 10+.
Remarque
Créez un problème si vous constatez que vous devez désactiver cette fonctionnalité, car il est possible que l’option de désactivation soit supprimée ultérieurement.
CodesignAllocate
Chemin d’accès à l’outil codesign_allocate.
Par défaut, cette valeur est détectée automatiquement.
CodesignConfigureDependsOn
Il s’agit d’un point d’extension pour la compilation : un développeur peut ajouter des cibles à cette propriété pour exécuter ces cibles avant que la compilation examine les propriétés de signature de code.
Cela peut par exemple être utilisé pour désactiver la signature de code pour les builds du simulateur :
<PropertyGroup>
<CodesignConfigureDependsOn>$(CodesignConfigureDependsOn);DisableCodesignInSimulator</CodesignConfigureDependsOn>
</PropertyGroup>
<Target Name="DisableCodesignInSimulator" Condition="'$(SdkIsSimulator)' == 'true'">
<PropertyGroup>
<EnableCodeSigning>false</EnableCodeSigning>
</PropertyGroup>
</Target>
CodeSignerDépendDe
Il s’agit d’un point d’extension pour la build : un développeur peut ajouter des cibles à cette propriété pour exécuter ces cibles avant la signature de l’offre groupée d’applications.
Exemple:
<PropertyGroup>
<CodesignDependsOn>$(CodesignDependsOn);DoThisBeforeCodesign</CodesignDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCodesign">
<Exec Command="echo This is executed right before the app is signed." />
</Target>
CodesignEntitlements
Chemin d’accès au fichier des droits qui spécifie les droits requis par l’application.
Habituellement « Entitlements.plist ».
Nous allons automatiquement définir cette valeur sur « Entitlements.plist » si ce fichier existe dans le répertoire racine du projet.
Cela peut être empêché en définissant la propriété EnableDefaultCodesignEntitlements sur false.
CodesignExtraArgs
Arguments supplémentaires passés à l’outil « codesign » lors de la signature du bundle d’applications.
CodesignKey
Spécifie la clé de signature de code à utiliser lors de la signature du bundle d’applications.
CodesignKeychain
Trousseau de clés à utiliser lors de la signature de code.
Clé de signature de code
Spécifie la clé de signature de code à utiliser lors de la signature du bundle d’applications.
Applicable uniquement aux applications macOS et Mac Catalyst, mais il est recommandé d’utiliser la propriété CodesignKey à la place (qui fonctionne sur toutes les plateformes).
CodesignProvision
Spécifie le profil d’approvisionnement à utiliser lors de la signature du bundle d’applications.
CodesignResourceRules
Chemin d’accès au ResourceRules.plist à copier dans le paquet de l'application.
CodesignRequireProvisioningProfile
Spécifie si un profil d’approvisionnement est requis lors de la signature de l’offre groupée d’applications.
Par défaut, nous avons besoin d’un profil d’approvisionnement si :
- macOS, Mac Catalyst : un profil d’approvisionnement a été spécifié (avec la propriété CodesignProvision).
- iOS, tvOS : la génération pour un appareil ou un fichier de droits d’utilisation a été spécifiée (avec la propriété CodesignEntitlements).
La définition de cette propriété sur true ou false remplace la logique par défaut.
CompressBindingResourcePackage
Les références natives d’un projet de liaison sont copiées dans le répertoire de sortie pendant le processus de génération, en regard de l’assembly de liaison (dans quelque chose que nous appelons un « package de ressources de liaison »).
Ces références natives peuvent être stockées compressées à l’intérieur d’un fichier zip (nommé $(AssemblyName).resources.zip, ou as-is, à l’intérieur d’un répertoire nommé $(AssemblyName).resources.
La CompressBindingResourcePackage propriété spécifie s’il faut créer un fichier zip ou un répertoire.
Les valeurs possibles sont les suivantes :
-
auto: déterminer automatiquement la meilleure option (actuellement, un fichier zip est toujours créé, mais une fois que Visual Studio prendra en charge les chemins longs sous Windows, cela pourrait changer pour ne créer que des packages de ressources de liaison zip avec des liens symboliques). -
true: créer un fichier zip -
false: créer un répertoire
La valeur par défaut est auto.
Cela s’applique également à la façon dont les références natives sont stockées dans NuGets.
Remarque
Dans certains cas, il peut être utile de forcer un fichier zip sur iOS, en particulier lorsqu’il existe une infrastructure avec des fichiers qui ont des noms longs, car le fichier zip peut parfois contourner les problèmes de MAX_PATH sur Windows.
CopySceneKitAssetsPath
Chemin complet de l’outil copySceneKitAssets.
Le comportement par défaut consiste à utiliser xcrun copySceneKitAssets.
CoreMLCompilerPath
Chemin complet de l’outil coremlc.
Le comportement par défaut consiste à utiliser xcrun coremlc.
CréerLaDépendanceDuPaquetApp
Il s’agit d’un point d’extension pour la build : un développeur peut ajouter des cibles à cette propriété pour exécuter ces cibles lors de la création du bundle d’applications.
Exemple:
<PropertyGroup>
<CreateAppBundleDependsOn>$(CreateAppBundleDependsOn);DoThisBeforeCreatingAppBundle</CreateAppBundleDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingAppBundle">
<Exec Command="echo This is executed before the app bundle is created." />
</Target>
CréerIPADépendances
Il s’agit d’un point d’extension pour la construction : un développeur peut ajouter des objectifs à cette propriété pour exécuter ces objectifs lors de la création d’une IPA.
Applicable à toutes les plateformes qui créent des archives IPA (actuellement iOS et tvOS).
Exemple:
<PropertyGroup>
<CreateIpaDependsOn>$(CreateIpaDependsOn);DoThisBeforeCreatingIPA</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingIPA">
<Exec Command="echo This is executed before the IPA is created." />
</Target>
CréerPaquet
Si un package (.pkg) doit être créé pour l’ensemble d’applications à la fin de la build.
Applicable uniquement aux projets macOS et Mac Catalyst.
Consultez BuildIpa pour les projets iOS et tvOS.
DeviceSpecificBuild
Si la build doit être spécifique à l’appareil sélectionné.
Applicable à toutes les plateformes qui prennent en charge les builds spécifiques à l’appareil (actuellement iOS et tvOS).
CheminSortieIntermédiaireSpécifiqueAuDispositif
Chemin de sortie intermédiaire à utiliser lorsque des builds spécifiques à l’appareil sont activées.
Applicable à toutes les plateformes qui prennent en charge les builds spécifiques à l’appareil (actuellement iOS et tvOS).
CheminDeSortieSpecifiqueAuDispositif
Chemin d’accès de sortie à utiliser lorsque des builds spécifiques à l’appareil sont activées.
Applicable à toutes les plateformes qui prennent en charge les builds spécifiques à l’appareil (actuellement iOS et tvOS).
DiagnosticAddress
Adresse IP à laquelle dotnet-dsrouter s’exécute. Il s’agit typiquement de 127.0.0.1 lors du profilage sur le simulateur et de l’adresse IP de l’ordinateur lors du profilage sur un appareil où dotnet-dsrouter.
Il s’agit du composant d’adresse IP de DiagnosticConfiguration'.
Définit implicitement EnableDiagnostics sur true.
La valeur par défaut est 127.0.0.1.
diagnosticConfiguration
Une valeur fournie par dotnet-dsrouter pour DOTNET_DiagnosticPorts telle que :
127.0.0.1:9000,suspend,connect127.0.0.1:9000,nosuspend,connect
Notez que le caractère , doit être échappé avec %2c s’il est passé en ligne de commande à dotnet build:
dotnet build -c Release -p:DiagnosticConfiguration=127.0.0.1:9000%2csuspend%2cconnect
Cette opération définit automatiquement la DOTNET_DiagnosticPorts variable d’environnement empaquetée à l’intérieur de l’application, afin que la variable d’environnement soit définie lors du lancement de l’application.
Définit implicitement EnableDiagnostics sur true.
Le comportement par défaut consiste à calculer cette valeur à partir des autres propriétés de diagnostic (DiagnosticAddress, DiagnosticPort, DiagnosticListenMode et DiagnosticSuspend).
Si elle est définie, l’une des autres propriétés de diagnostic est ignorée.
Mode d'écoute diagnostique
Valeur fournie par dotnet-dsrouter, telle que connect ou listen, le composant du mode d’écoute de DiagnosticConfiguration`.
Définit implicitement EnableDiagnostics sur true.
La valeur par défaut est listen.
DiagnosticPort
Valeur fournie par dotnet-dsrouter tel que 9000, le composant de port de DiagnosticConfiguration'.
Définit implicitement EnableDiagnostics sur true.
La valeur par défaut est 9000.
DiagnosticSuspend
Valeur qui spécifie le comportement de démarrage lors du profilage d’une application.
Définissez cette option pour true suspendre l’application au démarrage (en attendant que le serveur de diagnostics se connecte à l’application) ou false pour lancer l’application comme d’habitude (et connecter le serveur de diagnostics à l’application ultérieurement).
Cela correspond à la suspend/nosuspend valeur dans DiagnosticConfiguration'.
Définit implicitement EnableDiagnostics sur true.
La valeur par défaut est false.
DittoPath
Chemin complet de l’exécutable ditto.
Le comportement par défaut consiste à utiliser /usr/bin/ditto.
IntégrerRessourcesÀLaDemande
Si les ressources à la demande doivent être incorporées dans le bundle d’applications.
Valeur par défaut : true
Activer la Signature du Code
Si la signature de code est activée.
La signature de code est activée par défaut pour toutes les plateformes ; cela peut être remplacé par cette propriété.
ActiverLesPermissionsParDéfautDeCodesign
Consultez CodesignEntitlements.
ActiverRessourcesÀLaDemande
Si les ressources à la demande sont activées.
Valeur par défaut : false pour macOS, true pour toutes les autres plateformes.
ActiverLaSignatureDePackage
Si le .pkg créé (si CreatePackage a été activé) doit être signé.
Applicable uniquement à macOS et Mac Catalyst.
ActiverDiagnostics
Activez les composants requis pour que les diagnostics (tels que le profilage) fonctionnent.
Il est activé par défaut pour les builds de débogage (lorsque MtouchDebug ou MmpDebug est activé), mais doit être activé manuellement avant le profilage des versions de production.
<PropertyGroup>
<EnableDiagnostics>true</EnableDiagnostics>
</PropertyGroup>
Cela augmente légèrement la taille de l’application.
Applicable uniquement lors de l’utilisation du runtime Mono (CoreCLR prend toujours en charge les diagnostics, tandis que NativeAOT ne le fait jamais).
EnableSGenConc
Active le mode concurrentiel du ramasse-miettes SGen.
Applicable uniquement à iOS, tvOS et Mac Catalyst (lorsque vous n’utilisez pas NativeAOT).
EventSourceSupport
Quand la valeur est définie sur false, désactive la prise en charge d’EventSource de .NET à partir des applications réduites. La désactivation de cette fonctionnalité empêcherait le fonctionnement des outils de diagnostic .NET tels que dotnet-counters, mais permettrait de réduire la taille de l'application.
Valeur par défaut : false est défini à Optimize lorsque true est défini à Optimize (qui est la valeur par défaut pour les builds $(EnableDiagnostics)), sauf si est activé.
Générer le Manifeste d'Application
Si un manifeste d’application (Info.plist) doit être généré.
Valeur par défaut : true
GeneratedSourcesDir
Où les données générées à partir du générateur sont enregistrées.
InclureTousLesIcônesD'Application
Définissez la propriété IncludeAllAppIcons sur true pour inclure automatiquement toutes les icônes d’application de tous les catalogues de ressources dans l’application.
Exemple:
<PropertyGroup>
<IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>
Voir aussi :
- Groupe d’éléments AlternateAppIcon.
- La propriété de l'icône d'application.
iOSMinimumVersion
Spécifie la version minimale d’iOS sur laquelle l’application peut s’exécuter.
Applicable à iOS ; la définition de cette valeur définit SupportedOSPlatformVersion pour les projets iOS (uniquement).
IPhoneResourcePrefix
Répertoire dans lequel les ressources sont stockées (ce préfixe est supprimé lors de la copie de ressources dans le bundle d’applications).
Applicable aux projets iOS, tvOS et Mac Catalyst.
Envisagez plutôt d’utiliser la propriété AppBundleResourcePrefix unifiée.
Consultez également MonoMacResourcePrefix et XamMacResourcePrefix.
IpaIncludeArtwork
Si l’illustration doit être incluse dans l’IPA.
Applicable uniquement aux projets iOS et tvOS.
Nom de Paquet Ipa
Spécifie le nom du fichier .ipa résultant (sans le chemin d’accès) lors de la création d’un package IPA (voir BuildIpa). IpaPackagePath remplace cette valeur.
Applicable uniquement aux projets iOS et tvOS.
IpaPackageDir
Spécifie le répertoire du fichier .ipa résultant lors de la création d’un package IPA (voir BuildIpa). IpaPackagePath remplace cette valeur.
Applicable uniquement aux projets iOS et tvOS.
IpaPackagePath
Spécifie le chemin d’accès au fichier .ipa résultant lors de la création d’un package IPA (voir BuildIpa).
Applicable uniquement aux projets iOS et tvOS.
IsAppExtension
Si un projet est une extension d’application.
EstUnProjetLiant
Si un projet est un projet contraignant.
IsXPCService
Si une extension macOS est un service xpc.
Applicable uniquement aux projets macOS.
Mode de Lien
Spécifie le mode de lien du projet (None, SdkOnly ou Full).
Applicable aux projets macOS, mais cette propriété est déconseillée, utilisez TrimMode à la place.
Voir aussi MtouchLink.
LierAuxBibliothèquesDuSystèmeSwift
Si la valeur est true, la build indique à l’éditeur de liens natif où trouver les bibliothèques système de Swift.
Cela est utile lorsqu’une bibliothèque native utilise Swift, auquel cas l’éditeur de liens natif doit savoir où trouver les bibliothèques système de Swift.
Cela signifie actuellement que ces arguments seront transmis à l’éditeur de liens natif :
- -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/[platform]
- -L/Applications/Xcode.app/Contents/Developer/Platforms/[platform].platform/Developer/SDKs/[platform].sdk/usr/lib/swift
L’ensemble exact d’arguments peut changer à l’avenir.
MacCatalystMinimumVersion
Spécifie la version minimale de Mac Catalyst (iOS) sur laquelle l’application peut s’exécuter.
Applicable à Mac Catalyst ; la définition de cette valeur définira SupportedOSPlatformVersion pour les projets Mac Catalyst (uniquement).
MaciOSPrepareForBuildDependsOn
Propriété délimitée par des points-virgules qui peut être utilisée pour étendre le processus de construction. Les cibles MSBuild ajoutées à cette propriété s’exécutent tôt dans la build pour les types de projets d’application et de bibliothèque. Cette propriété est vide par défaut.
Exemple:
<PropertyGroup>
<MaciOSPrepareForBuildDependsOn>$(MaciOSPrepareForBuildDependsOn);MyCustomTarget</MaciOSPrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Cette propriété a été introduite dans .NET 9.
macOSMinimumVersion
Spécifie la version minimale de macOS sur laquelle l’application peut s’exécuter.
Applicable à macOS ; la définition de cette valeur définit SupportedOSPlatformVersion pour les projets macOS (uniquement).
MacOSXSdkVersion
Version du Kit de développement logiciel (SDK) macOS à utiliser pour la build.
Par défaut : détecté automatiquement en fonction de la version par défaut fournie avec le Xcode sélectionné.
Voir aussi MtouchSdkVersion.
ModeExceptionGéréMarshal
Choisissez comment les exceptions managées sont traitées lorsqu'un cadre natif est rencontré pendant le déroulement de la pile, lors du traitement de l'exception managée.
Valeurs valides :
-
default: Actuellement, il s’agit dethrowobjectivecexception. -
unwindnativecode: ce n’est pas disponible lors de l’utilisation du runtime CoreCLR. -
throwobjectivecexception: Interceptez l'exception managée et convertissez-la en une exception Objective-C. -
abort: abandonner le processus. -
disable: Désactivez l’interception des exceptions managées. Pour MonoVM, cela équivaut àunwindnativecode, pour CoreCLR, cela équivaut àabort.
Pour plus d’informations, consultez Marshaling d’exceptions et MarshalObjectiveCExceptionMode.
MarshalObjectiveCExceptionMode
Choisissez comment Objective-C exceptions sont gérées lors de la rencontre d’une trame managée pendant le déroulement de la pile lors du traitement de l’exception Objective-C.
Valeurs valides :
-
default: Actuellement, il s’agit dethrowmanagedexception. -
unwindmanagedcode: ce n’est pas disponible lors de l’utilisation du runtime CoreCLR. -
throwmanagedexception: interceptez l’exception Objective-C et convertissez-la en exception managée. -
abort: abandonner le processus. -
disable: désactiver l’interception des exceptions Objective-C.
Pour plus d’informations, consultez Marshaling d’exceptions et MarshalManagedExceptionMode.
MdimportPath
Chemin complet de l’outil mdimport.
Le comportement par défaut consiste à utiliser xcrun mdimport.
MetalLibPath
Le chemin complet de l’outil metallib (Metal Linker).
Le comportement par défaut consiste à utiliser xcrun metallib.
MetalPath
Chemin complet du compilateur Metal.
Le comportement par défaut consiste à utiliser xcrun metal.
MetricsSupport
Quand la valeur est définie sur false, désactive la prise en charge des métriques de .NET pour les applications réduites. La désactivation de cette fonctionnalité empêcherait les API telles que System.Diagnostics.Metrics de fonctionner, mais permettrait une réduction de la taille de l’application.
Valeur par défaut : false est défini à Optimize lorsque true est défini à Optimize (qui est la valeur par défaut pour les builds $(EnableDiagnostics)), sauf si est activé.
MmpDebug
Active le mode de débogage pour la création d’un bundle d’applications.
Applicable uniquement aux projets macOS.
Voir aussi MtouchDebug.
MobileAggressiveAttributeTrimming
Cette propriété détermine si de nombreux attributs qui sont très rarement nécessaires au moment de l’exécution doivent être supprimés.
Cette option est activée par défaut.
Notez que si les attributs supprimés sont très rarement utilisés, il est techniquement possible que la suppression puisse modifier le comportement d’exécution.
Par exemple, System.Xml.Serialization se comporte différemment si un constructeur a l’attribut [Obsolete] (qui est l’un des attributs supprimés). Il s'agit d'un risque suffisamment faible pour justifier la suppression de ces attributs par défaut pour économiser de l'espace.
La liste des attributs supprimés peut changer à l’avenir, mais au moment de cette écriture (pour .NET 10), il s’agit des attributs suivants :
- Microsoft.CodeAnalysis.EmbeddedAttribute
- System.CLSCompliantAttribute
- System.CodeDom.Compiler.GeneratedCodeAttribute
- System.ComponentModel.EditorBrowsableAttribute
- System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute
- System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute
- System.Diagnostics.CodeAnalysis.DynamiqueAccessedMembersAttribute
- System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
- System.Diagnostics.CodeAnalysis.ExperimentalAttribute (Attribut expérimental de System.Diagnostics.CodeAnalysis)
- System.Diagnostics.CodeAnalysis.FeatureGuardAttribute
- System.Diagnostics.CodeAnalysis.FeatureSwitchDefinitionAttribute
- System.Diagnostics.CodeAnalysis.MemberNotNullAttribute
- System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute
- System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute
- System.Diagnostics.CodeAnalysis.NotNullWhenAttribute
- System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute
- System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute
- System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute
- System.Diagnostics.CodeAnalysis.StringSyntaxAttribute
- System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
- System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute
- System.Diagnostics.CodeAnalysis.UnscopedRefAttribute
- System.ObsoleteAttribute
- System.Reflection.AssemblyCompanyAttribute
- System.Reflection.AssemblyConfigurationAttribute
- System.Reflection.AssemblyCopyrightAttribute
- System.Reflection.AssemblyDefaultAliasAttribute
- System.Reflection.AssemblyDescriptionAttribute
- System.Reflection.AssemblyMetadataAttribute
- System.Reflection.AssemblyProductAttribute
- System.Reflection.AssemblyTitleAttribute
- System.Runtime.CompilerServices.AsyncMethodBuilderAttribute
- System.Runtime.CompilerServices.CallerArgumentExpressionAttribute
- System.Runtime.CompilerServices.CallerFilePathAttribute
- System.Runtime.CompilerServices.CallerLineNumberAttribute
- System.Runtime.CompilerServices.CallerMemberNameAttribute
- Système.Runtime.CompilerServices.AttributExigeantCaractéristiquesDuCompilateur
- System.Runtime.CompilerServices.CompilerGlobalScopeAttribute
- System.Runtime.CompilerServices.EnumeratorCancellationAttribute
- System.Runtime.CompilerServices.ExtensionAttribute
- System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute
- System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute
- System.Runtime.CompilerServices.IntrinsicAttribute
- System.Runtime.CompilerServices.IsReadOnlyAttribute
- System.Runtime.CompilerServices.IsUnmanagedAttribute
- System.Runtime.CompilerServices.NativeIntegerAttribute
- System.Runtime.CompilerServices.RefSafetyRulesAttribute
- System.Runtime.CompilerServices.ScopedRefAttribute
- System.Runtime.CompilerServices.SkipLocalsInitAttribute
- System.Runtime.CompilerServices.TupleElementNamesAttribute
- System.Runtime.InteropServices.LibraryImportAttribute
- System.Runtime.InteropServices.Marshalling.ContiguousCollectionMarshallerAttribute
- System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute
- System.Runtime.InteropServices.Marshalling.MarshalUsingAttribute
- System.Runtime.InteropServices.Marshalling.NativeMarshallingAttribute
- System.Runtime.Versioning.NonVersionableAttribute
- System.Runtime.Versioning.ObsoletedOSPlatformAttribute
- System.Runtime.Versioning.RequiresPreviewFeaturesAttribute
- System.Runtime.Versioning.SupportedOSPlatformAttribute
- System.Runtime.Versioning.SupportedOSPlatformGuardAttribute
- System.Runtime.Versioning.TargetPlatformAttribute
- System.Runtime.Versioning.UnsupportedOSPlatformAttribute
- System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute
Cette propriété a été introduite dans .NET 10.
MonoBundlingExtraArgs
Arguments supplémentaires spécifiant comment créer le bundle d’applications.
Applicable uniquement aux projets macOS.
Cette propriété est déconseillée, utilisez AppBundleExtraOptions à la place.
MonoMacResourcePrefix
Répertoire dans lequel les ressources sont stockées (ce préfixe est supprimé lors de la copie de ressources dans le bundle d’applications).
Applicable uniquement aux projets macOS.
Envisagez plutôt d’utiliser la propriété AppBundleResourcePrefix unifiée.
Voir également IPhoneResourcePrefix et XamMacResourcePrefix.
MonoUtiliserBitmapInterfaceCompressée
Cela permet au runtime Mono d’utiliser une version compressée des bitmaps d’interface (les bitmaps d’interface sont utilisées pour déterminer si certains types implémentent une interface donnée).
Ces bitmaps peuvent utiliser une quantité importante de mémoire au moment de l’exécution, en particulier pour les applications qui ont une quantité importante d’interfaces.
Ce paramètre est désactivé par défaut, mais il peut être activé comme suit, ce qui réduit la quantité de mémoire utilisée au moment de l’exécution :
<PropertyGroup>
<MonoUseCompressedInterfaceBitmap>true</MonoUseCompressedInterfaceBitmap>
</PropertyGroup>
L’inconvénient est que les vérifications de type (obj is SomeInterface) seront plus lentes.
Applicable uniquement lors de l’utilisation du runtime Mono.
MtouchDebug
Active le mode de débogage pour la création d’un bundle d’applications.
Applicable aux projets iOS, tvOS et Mac Catalyst.
Voir également MmpDebug.
MtouchEnableSGenConc
Active le mode concurrentiel du ramasse-miettes SGen.
Applicable uniquement à iOS, tvOS et Mac Catalyst lorsque vous n’utilisez pas NativeAOT.
Cette propriété est obsolète, utilisez EnableSGenConc à la place.
MtouchExtraArgs
Arguments supplémentaires spécifiant comment créer le bundle d’applications.
Applicable uniquement aux projets iOS, tvOS et Mac Catalyst.
Cette propriété est déconseillée, utilisez AppBundleExtraOptions à la place.
MtouchInterpreter
Active l’interpréteur et peut éventuellement prendre une liste d'assemblages, séparée par des virgules, à interpréter (si elle est précédée d'un signe moins, l'assemblage est alors compilé en AOT à la place). "'all' peut être utilisé pour spécifier toutes les assemblées." Cet argument peut être spécifié plusieurs fois.
Exemple:
<PropertyGroup>
<!-- interpret all assemblies -->
<MtouchInterpreter>all</MtouchInterpreter>
<!-- AOT-compile all assemblies, except System.dll, which will be interpreted. -->
<MtouchInterpreter>System</MtouchInterpreter>
<!-- interpret all assemblies, except System.Core.dll, which will be AOT-compiled. -->
<MtouchInterpreter>all,-System.Core</MtouchInterpreter>
</PropertyGroup>
Un raccourci pour la MtouchInterpreter consiste à définir UseInterpreter=true, qui équivaut à MtouchInterpreter=all.
Si les UseInterpreter et les MtouchInterpreter sont définis, MtouchInterpreter est prioritaire.
Applicable aux applications iOS, tvOS et Mac Catalyst (quand elles n’utilisent pas NativeAOT).
Le comportement par défaut consiste à ne pas activer l’interpréteur.
Remarque
MAUI modifie la valeur par défaut en définissant UseInterpreter=true pour la configuration "Debug".
MtouchLink
Spécifie le mode de lien du projet (None, SdkOnly, Full).
Applicable aux projets iOS, tvOS et Mac Catalyst, mais cette propriété est déconseillée, utilisez TrimMode à la place.
Voir également LinkMode.
MtouchSdkVersion
Version du Kit de développement logiciel (SDK) iOS ou tvOS à utiliser pour la build.
Par défaut : détecté automatiquement en fonction de la version par défaut fournie avec le Xcode sélectionné.
Voir également macOSXSdkVersion.
MtouchUseLlvm
Propriété booléenne qui spécifie si la compilation AOT doit être effectuée à l’aide de LLVM.
Applicable aux projets iOS, tvOS et Mac Catalyst.
Par défaut :
- Sur iOS et tvOS : activé pour les builds Release (où
Configuration="Release"). - Sur Mac Catalyst : jamais activé par défaut.
NoBindingEmbedding
Propriété booléenne qui spécifie si les bibliothèques natives dans les projets de liaison doivent être incorporées dans l’assembly managé ou placées dans un répertoire .resources en regard de l’assembly managé.
La valeur par défaut est true (ce qui signifie que les bibliothèques natives ne pas être incorporées dans l’assembly managé).
Remarque
Xcframeworks ne fonctionnera pas correctement si elle est incorporée dans l’assembly managé (si cette propriété n’est pas true).
NoDSymUtil
Propriété booléenne qui spécifie si la génération .dSYM doit être désactivée.
Par défaut :
-
truepour iOS et tvOS lors de la compilation pour le simulateur. -
truepour macOS et Mac Catalyst, sauf si vous créez une archive (ArchiveOnBuild=true)
Cela signifie que l’archive .dSYM est générée dans les cas suivants (par défaut) :
- Sur iOS et tvOS lors de la construction pour l’appareil.
- Sur macOS et Mac Catalyst lors de la création d’une archive (
ArchiveOnBuild=true).
NoSymbolStrip
Propriété booléenne qui spécifie si les symboles de débogage sont supprimés de l’application au moment de la génération.
Le comportement par défaut consiste à conserver les symboles de débogage pour :
- builds
Debugpour les plateformes de bureau. - Builds de simulateur pour les plateformes mobiles.
Exemple pour conserver les symboles de débogage :
<PropertyGroup>
<NoSymbolStrip>true</NoSymbolStrip>
</PropertyGroup>
OnDemandResourcesInitialInstallTags
Propriété de chaîne qui spécifie les balises d’installation initiales pour les ressources à la demande.
OnDemandResourcesPrefetchOrder
Propriété de type chaîne qui définit l'ordre de préchargement pour les ressources à la demande.
UrlDesRessourcesÀLaDemande
Propriété de chaîne qui spécifie l’URL de ressource pour les ressources à la demande.
Optimiser les PNG
Propriété booléenne qui spécifie si les images png doivent être optimisées.
OptimiserLesImagesPngDépendDe
Il s’agit d’un point d’extension pour la build : un développeur peut ajouter des cibles à cette propriété pour exécuter ces cibles avant que toutes les images png soient optimisées.
Exemple:
<PropertyGroup>
<OptimizePngImagesDependsOn>$(OptimizePngImagesDependsOn);MyCustomTarget</OptimizePngImagesDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
OptimiserLesListesDePropriétés
Propriété booléenne qui spécifie si les listes de propriétés (plists) doivent être optimisées.
OptimisationDesListesDePropriétésDépendDe
Il s’agit d’un point d’extension pour la build : un développeur peut ajouter des cibles à cette propriété pour exécuter ces cibles avant que les listes de propriétés (plists) ne soient optimisées.
Exemple:
<PropertyGroup>
<OptimizePropertyListsDependsOn>$(OptimizePropertyListsDependsOn);MyCustomTarget</OptimizePropertyListsDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Clé de Signature de Paquet
Spécifie la clé de signature de code pour signer le package lors de la création de .pkg pour un projet macOS et Mac Catalyst.
Applicable uniquement aux applications macOS et Mac Catalyst.
PackagingExtraArgs
Spécifie tous les arguments supplémentaires à passer à l’outil « productbuild » lors de la création de .pkg pour un projet macOS et Mac Catalyst.
Applicable uniquement aux applications macOS et Mac Catalyst.
PkgPackagePath
Spécifie le chemin d’accès au fichier .pkg résultant lors de la création d’un package (voir CreatePackage).
Applicable uniquement aux applications macOS et Mac Catalyst.
PlutilPath
Le chemin complet vers l'outil en ligne de commande plutil.
Le comportement par défaut consiste à utiliser xcrun plutil.
PngCrushPath
Le chemin complet vers l'outil en ligne de commande pngcrush.
Le comportement par défaut consiste à utiliser xcrun pngcrush.
ProcessEnums
Propriété booléenne qui spécifie si les énumérations doivent être traitées en tant que définition d’API dans les projets de liaison.
ProductBuildPath
Chemin complet de l’outil productbuild.
Le comportement par défaut consiste à utiliser xcrun productbuild.
DéfinitionDuProduit
Modèle de définition de produit (.plist) à utiliser lors de la création de la définition de produit à transmettre à l’outil de génération de produit lors de la création de packages (.pkg).
Applicable uniquement aux applications macOS et Mac Catalyst.
ReferenceNativeSymbol
Le groupe d’éléments ReferenceNativeSymbol peut être utilisé pour spécifier comment gérer un symbole natif donné : ignorez-le ou demandez à l’éditeur de liens natif de le conserver (en passant le symbole en tant que -u ... ou dans un fichier de symboles à l’éditeur de liens natif).
Il existe deux types de métadonnées pris en charge :
-
SymbolType:ObjectiveCClass,FunctionouField. Utilisé pour calculer le nom natif complet d’un symbole (par exemple, le symbole natif de la classe Objective-CMyClassest_OBJC_CLASS_$_MyClass, tandis que pour une fonctionMyFunctionil est juste_MyFunction. -
SymbolMode:Ignoreou non défini.Ignoresignifie ne pas passer le symbole donné à l’éditeur de liens natif, la valeur par défaut est de le faire.
SymbolType est nécessaire, alors que SymbolMode n’est pas nécessaire.
Exemple de symbole à conserver :
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" />
</ItemGroup>
Exemple de symbole à ignorer :
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" SymbolMode="Ignore" />
</ItemGroup>
NécessiteLienAvecAttributPourRechercheDeClasseObjectiveC
Nous allons effectuer une analyse automatique de toutes les bibliothèques pour les classes managées qui correspondent à des classes Objective-C existantes, puis créer une référence native lors de la construction pour ces classes Objective-C.
De cette façon, l’éditeur de liens natif ne supprime pas ces classes Objective-C, pensant qu’ils ne sont pas utilisés.
Toutefois, cela peut entraîner un problème si une classe managée fait référence à une classe Objective-C qui n’existe pas. Le correctif approprié pour cela consiste à supprimer ces classes managées de la build, mais cela peut être fastidieux, en particulier si la classe managée provient d’une référence binaire (par exemple, NuGet).
Dans ces cas, il est possible de définir la propriété RequireLinkWithAttributeForObjectiveCClassSearch sur true afin que nous n’analysions que les bibliothèques avec l’attribut [LinkWith] pour les classes Objective-C.
<PropertyGroup>
<RequireLinkWithAttributeForObjectiveCClassSearch>true</RequireLinkWithAttributeForObjectiveCClassSearch>
</PropertyGroup>
RunWithOpen
Cette propriété détermine si les applications sont lancées à l’aide de la open commande sur macOS ou si l’exécutable de l’application est exécuté directement.
Cela s’applique uniquement aux applications macOS et Mac Catalyst.
La valeur par défaut est true. Dans ce mode, l’application sera lancée par macOS comme toute autre application d’interface utilisateur, toute sortie stdout/stderr sera avalée par macOS, et la dotnet run commande se termine dès que l’application a lancé.
Si la valeur est définie false, toute sortie stdout/stderr est imprimée sur le terminal actuel et la dotnet run commande ne se termine pas tant que l’application n’a pas quitté l’application.
Les propriétés suivantes peuvent être utilisées pour configurer le comportement lors de la définition true (par exemple, à l’aide de la open commande) :
OpenNewInstance
Si une nouvelle instance est ouverte si l’application est déjà en cours d’exécution (valeur par défaut false).
Cela transmettra -n à open si c'est défini sur true.
Exemple:
$ dotnet run -p:OpenNewInstance=false
OpenWaitForExit
Si « dotnet run » doit attendre la sortie de l’application (valeur par défaut false).
Cela transmettra -W à open si c'est défini sur true.
Exemple:
$ dotnet run -p:OpenWaitForExit=true
OpenArguments
Cette propriété peut être utilisée pour passer des arguments supplémentaires à la open commande.
Exemple (pour définir des variables d’environnement) :
$ dotnet run -p:OpenArguments="--env VARIABLE1=VALUE1 --env VARIABLE2=value2"
Exemple (pour rediriger stdout et stderr vers un fichier) :
$ dotnet run -p:OpenArguments="--stdout /tmp/stdout.txt --stderr /tmp/stderr.txt"
Exécutez man open pour afficher la liste de toutes les options open acceptées.
StandardOutputPath
Cette propriété peut être utilisée pour rediriger la sortie stdout de l’application vers un fichier.
Exemple d’écriture dans un fichier :
$ dotnet run -p:StandardOutputPath=stdout.txt
Exemple d’écriture dans le terminal actuel :
$ dotnet run -p:StandardOutputPath=$(tty)
[... Console.WriteLine output from app ...]
Remarque : cela peut également être effectué en passant --stdout ... à l’aide de la propriété OpenArguments .
StandardErrorPath
Cette propriété peut être utilisée pour rediriger la sortie stderr de l’application vers un fichier.
Exemple d’écriture dans un fichier :
$ dotnet run -p:StandardErrorPath=stderr.txt
Exemple d’écriture dans le terminal actuel :
$ dotnet run -p:StandardErrorPath=$(tty)
[... Console.Error.WriteLine output from app ...]
Remarque : cela peut également être effectué en passant --stderr ... à l’aide de la propriété OpenArguments .
StandardInputPath
Cette propriété peut être utilisée pour rediriger l’entrée stdin vers l’application à partir d’un fichier.
Exemple:
$ dotnet run -p:StandardInputPath=stdin.txt
Remarque : cela peut également être effectué en passant --stdin ... à l’aide de la propriété OpenArguments .
SdkIsSimulator
Cette propriété est une propriété en lecture seule (ce paramètre n’aura aucun effet) qui spécifie si nous créons un simulateur ou non.
Elle est définie uniquement après l’évaluation des importations et des propriétés . Cela signifie que la propriété n’est pas définie lors de l’évaluation des propriétés dans le fichier projet. Cela ne fonctionnera donc pas :
<PropertyGroup>
<EnableCodeSigning Condition="'$(SdkIsSimulator)' == 'true'">false</EnableCodeSigning>
</PropertyGroup>
Toutefois, l’une des opérations suivantes fonctionne :
<ItemGroup>
<!-- item groups (and their conditions) are evaluated after properties have been evaluated -->
<CustomEntitlements Condition="'$(SdkIsSimulator)' == 'true'" Include="com.apple.simulator-entitlement" Type="Boolean" Value="true" />
<CodesignConfigureDependsOn>$(CodesignConfigureDependsOn);ConfigureSimulatorSigning</CodesignConfigureDependsOn>
</ItemGroup>
<!-- targets are executed after properties have been evaluated -->
<Target Name="ConfigureSimulatorSigning">
<PropertyGroup>
<EnableCodeSigning Condition="'$(SdkIsSimulator) == 'true'">false</EnableCodeSigning>
</PropertyGroup>
</Target>
Remarque : cette propriété sera toujours false sur macOS et Mac Catalyst.
StripPath
Le chemin complet vers l'outil en ligne de commande strip.
Le comportement par défaut consiste à utiliser xcrun strip.
SupportedOSPlatformVersion
Spécifie la version minimale du système d’exploitation sur laquelle l’application peut s’exécuter.
Il est également possible d’utiliser une propriété spécifique à la plateforme :
- iOSMinimumVersion
- tvOSMinimumVersion
- macOSMinimumVersion
- MacCatalystMinimumVersion
TrimMode
Spécifie la granularité de découpage.
Les options valides sont les suivantes :
-
full: découper chaque assembly. -
partial: Découper les assemblages qui ont opté pour le découpage. -
copy: Ne pas découper d'assemblages.
Pour un peu plus d'informations sur la propriété , consultez TrimMode.
Remarque
Pour des raisons techniques, le découpage doit s’exécuter pour tous les projets iOS, tvOS, macOS et Mac Catalyst, même si aucun assembly n’est à découper. Pour cette raison, il n’est pas valide de désactiver le découpage en définissant PublishTrimmed sur false : pour désactiver le découpage, définissez TrimMode=copy à la place (une erreur de génération est générée si PublishTrimmed est définie sur false).
La propriété TrimMode équivaut aux propriétés MtouchLink (pour iOS, tvOS et Mac Catalyst) et Propriétés LinkMode (pour macOS), mais les valeurs de propriétés valides sont différentes (même si la sémantique est la même) :
| MtouchLink/LinkMode | TrimMode |
|---|---|
| Plein | complet |
| SdkOnly | partiel |
| Aucun | copier |
À l’avenir, les propriétés MtouchLink et LinkMode seront déconseillées, utilisez TrimMode à la place.
Le mode de découpage par défaut dépend de nombreux facteurs et peut également changer à l’avenir.
Les valeurs par défaut actuelles (à partir de .NET 9) sont les suivantes :
- iOS :
partiallors de la compilation pour l’appareil,copylors de la compilation pour le simulateur. - macOS : toujours
copy. - Mac Catalyst :
partiallors de la génération de la configuration"Release",copysinon.
Exceptions :
- La valeur par défaut est toujours
fulllors de la génération avec NativeAOT. - MAUI modifie la valeur par défaut en
copylors de la génération de la configuration deDebuget l’interpréteur est activé à l’aide de UseInterpreter (ce que MAUI active également par défaut lors de l’utilisation de la configuration"Debug").
Remarque
Le mode de découpage par défaut peut changer à l’avenir.
tvOSMinimumVersion
Spécifie la version minimale de tvOS sur laquelle l’application peut s’exécuter.
Applicable à tvOS ; la définition de cette valeur définit SupportedOSPlatformVersion pour les projets tvOS (uniquement).
UseFloatingTargetPlatformVersion
Propriété booléenne qui contrôle si les projets de bibliothèque doivent utiliser une version de plateforme cible flottante ou la version de plateforme la plus ancienne disponible.
Par défaut (à partir de .NET 10), les projets de bibliothèque sans explicite TargetPlatformVersion utilisent les assemblys de référence disponibles les plus anciens pour la version actuelle de .NET. Cela garantit une compatibilité maximale et permet la compilation du code de bibliothèque sur la surface d’API minimale disponible pour l’infrastructure cible.
Toutefois, ce comportement par défaut signifie que les projets de bibliothèque sont générés différemment des projets exécutables (qui utilisent la dernière version de la plateforme). Le code qui fonctionne dans un projet exécutable peut ne pas être compilé lorsqu’il est déplacé vers un projet de bibliothèque s’il utilise des API disponibles uniquement dans les versions de plateforme plus récentes.
La définition de cette propriété pour true désactiver la sélection automatique de la version la plus ancienne de la plateforme, ce qui permet au projet de bibliothèque d’utiliser la version de plateforme par défaut (la plus récente), comme les projets exécutables.
Exemple:
<PropertyGroup>
<!-- Use the latest platform version instead of the oldest -->
<UseFloatingTargetPlatformVersion>true</UseFloatingTargetPlatformVersion>
</PropertyGroup>
Valeur par défaut : false (utilisez la version de plateforme la plus ancienne pour les projets de bibliothèque dans .NET 10+).
Cette propriété s’applique uniquement aux projets de bibliothèque quiOutputType=Library ne sont pas des extensions d’application et qui n’ont pas spécifié de version de plateforme cible explicite (la version de la plateforme cible est le numéro de version facultatif à la fin de la TargetFramework propriété, par exemple pour TargetFramework net10.0-ios26.0 , la version de la plateforme cible est explicitement 26.0).
Cette propriété a été introduite dans .NET 10.
UseHardenedRuntime
Propriété booléenne qui spécifie si un runtime renforcé est activé.
Applicable aux projets macOS et Mac Catalyst.
UtiliserInterprète
Active l’interpréteur (pour tous les assemblies).
Cela équivaut à définir MtouchInterpreter=all.
Applicable aux applications iOS, tvOS et Mac Catalyst (quand elles n’utilisent pas NativeAOT).
Le comportement par défaut consiste à ne pas activer l’interpréteur.
Remarque
MAUI modifie la valeur par défaut en définissant UseInterpreter=true pour la configuration "Debug".
Pour plus d’informations, consultez MtouchInterpreter.
UseNativeHttpHandler
Indique si le gestionnaire http natif doit être le gestionnaire http par défaut ou non.
Valeur par défaut : true pour toutes les plateformes, à l’exception de macOS.
ValiderLesDroits
Choisissez si les autorisations sollicitées par l'application doivent être validées.
Valeurs valides pour cette propriété :
-
disable: la validation est désactivée. -
warn: tous les échecs de validation sont affichés en tant qu’avertissements. -
error: les échecs de validation sont affichés comme des erreurs. Il s’agit de la valeur par défaut.
Le processus de validation peut ne pas valider tous les droits, et il n’est pas garanti qu’il ne soit pas trop long.
Si la validation échoue pour les autorisations qui fonctionnent réellement, signalez un nouveau problème.
ValidateXcodeVersion
Indiquez si la version Xcode actuelle doit être validée.
La valeur par défaut est de valider ; définissez-la à false pour désactiver.
Remarque
L’utilisation d’une version différente de la version recommandée risque de générer des problèmes ultérieurement dans le processus de génération.
XamMacResourcePrefix
Répertoire dans lequel les ressources sont stockées (ce préfixe est supprimé lors de la copie de ressources dans le bundle d’applications).
Applicable aux projets macOS.
Envisagez plutôt d’utiliser la propriété AppBundleResourcePrefix unifiée.
Consultez également IPhoneResourcePrefix et MonoMacResourcePrefix.
ZipPath
Le chemin complet vers l'outil en ligne de commande zip.
Le comportement par défaut consiste à utiliser xcrun zip.