Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
MSBuild-eigenschappen bepalen het gedrag van de doelen. Ze worden opgegeven in het projectbestand, bijvoorbeeld MyApp.csproj, binnen een MSBuild PropertyGroup.
AltoolPath
Het volledige pad naar het hulpprogramma altool.
Het standaardgedrag is om xcrun altoolte gebruiken.
AppBundleResourcePrefix
De map waarin resources worden opgeslagen (dit voorvoegsel wordt verwijderd bij het kopiëren van resources naar de app-bundel).
Als deze eigenschap niet expliciet is ingesteld, neemt deze eigenschap de waarde over van de platformspecifieke eigenschappen van het resourcevoorvoegsel (IPhoneResourcePrefix, MonoMacResourcePrefix of XamMacResourcePrefix , afhankelijk van het platform).
Standaard: 'Resources'
AppBundleDir
De locatie van de ingebouwde app-bundel.
AppBundleExtraOptions
Geavanceerde aanvullende argumenten voor het maken van app-bundels.
De geldige set argumenten is afhankelijk van het platform.
Deze moeten doorgaans niet worden gebruikt, tenzij deze zijn opgegeven door een Microsoft-technicus.
AppIcon
De AppIcon itemgroep kan worden gebruikt om een app-pictogram voor de app op te geven.
De waarde van de eigenschap moet verwijzen naar de bestandsnaam van een .appiconset (voor iOS, macOS en Mac Catalyst) of .brandassets (voor tvOS) afbeeldingsresource in een assetcatalogus.
Voorbeeld:
<PropertyGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAppIcon.appiconset" resource would be "MyAppIcon" -->
<AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>
Zie ook:
- De AlternateAppIcon item groep.
- De eigenschap IncludeAllAppIcons.
ApplicationDisplayVersion
Als dit is ingesteld, geeft u de CFBundleShortVersionString waarde op in het app-manifest (Info.plist).
Dit is een eigenschap die ondersteuning biedt voor .NET Single Project.
Zie OneDotNetSingleProject voor meer informatie.
ApplicationId
Als dit is ingesteld, geeft u de CFBundleIdentifier waarde op in het app-manifest (Info.plist).
Dit is een eigenschap die ondersteuning biedt voor .NET Single Project.
Zie OneDotNetSingleProject voor meer informatie.
Applicatietitel
Als dit is ingesteld, geeft u de CFBundleDisplayName op in het app-manifest (Info.plist).
Dit is een eigenschap die ondersteuning biedt voor .NET Single Project.
Zie OneDotNetSingleProject voor meer informatie.
Applicatieversie
Als dit is ingesteld, geeft u de CFBundleVersion op in het app-manifest (Info.plist).
Dit is een eigenschap die ondersteuning biedt voor .NET Single Project.
Zie OneDotNetSingleProject voor meer informatie.
ArchiveBasePath
De locatie waar archieven worden opgeslagen in Windows voor een externe build.
De standaardwaarde is: %LocalAppData%\Xamarin\iOS\Archives
Alleen van toepassing op iOS-projecten (omdat alleen iOS-projecten extern kunnen worden gebouwd vanuit Windows).
ArchiveOnBuild
Als er een Xcode-archief moet worden gemaakt aan het einde van de build.
BGenEmitDebugInformation
Of het hulpprogramma bgen (de bindinggenerator) foutopsporingsgegevens moet verzenden of niet.
Het standaardgedrag wordt true wanneer de eigenschap Debug is ingesteld op true.
BGenExtraArgs
Eventuele extra argumenten voor het hulpprogramma bgen (de bindinggenerator).
BGenToolExe
De naam van het uitvoerbare bgen (een hulpprogramma dat wordt gebruikt door bindingsprojecten om bindingen te genereren).
Het standaardgedrag is het gebruik van het bgen hulpprogramma dat bij onze workload wordt geleverd.
BGenToolPath
De map waar de bgen (BGenToolExe) zich bevindt.
Het standaardgedrag is het gebruik van het bgen hulpprogramma dat bij onze workload wordt geleverd.
BuildIpa
Als er een pakket (.ipa) moet worden gemaakt voor de app-bundel aan het einde van de build.
Alleen van toepassing op iOS- en tvOS-projecten.
Zie CreatePackage- voor macOS- en Mac Catalyst-projecten.
BundleCreateDump
CoreCLR heeft een commandoregelprogramma met de naam createdump om kerndumps te maken als het proces vastloopt. macOS maakt automatisch crashrapporten voor alle App Store-apps en stelt deze beschikbaar voor de app-ontwikkelaar, dus het createdump hulpprogramma is niet nuttig voor veel macOS-apps en is daarom niet standaard opgenomen in apps.
Dit kan worden overschreven door de eigenschap BundleCreateDump in te stellen.
<PropertyGroup>
<BundleCreateDump>true</BundleCreateDump>
</PropertyGroup>
Opmerking: het createdump hulpprogramma werkt momenteel niet voor sandbox-apps (#18961);
Alleen van toepassing op projecten die gebruikmaken van de CoreCLR-runtime (die op het moment van schrijven alleen macOS-projecten is).
BundleOriginalResources
Met deze eigenschap wordt bepaald of resources worden gecompileerd voordat ze worden ingesloten in bibliotheekprojecten of of de oorspronkelijke (niet-gecompileerde) versie is ingesloten.
In het verleden zijn resources gecompileerd voordat ze worden ingesloten in bibliotheekprojecten, maar hiervoor is Xcode beschikbaar, wat enkele nadelen heeft:
- Het vertraagt externe builds op Windows.
- Het werkt niet bij lokaal bouwen op Windows, en ook niet op een ander platform, behalve op macOS.
- Resources worden gecompileerd met behulp van de huidige beschikbare Xcode, die mogelijk niet dezelfde functies heeft als een mogelijk nieuwere Xcode die beschikbaar is wanneer de betreffende bibliotheek wordt gebruikt.
- Het maakt het onmogelijk om een volledig programma te hebben van alle resources bij het bouwen van een app, wat nodig is om conflicterende resources te detecteren.
Daarom hebben we ondersteuning toegevoegd voor het insluiten van de oorspronkelijke resources in bibliotheken. Dit zal een keuze-in optie zijn bij .NET 9, maar een opt-out vanaf .NET 10.
De standaardwaarde van deze eigenschap false in .NET 9 en true in .NET 10+.
Notitie
Dien een probleem in als u merkt dat u deze functie moet uitschakelen, omdat het mogelijk is dat de optie om deze uit te schakelen in de toekomst wordt verwijderd.
CodesignToewijzen
Het pad naar het hulpprogramma codesign_allocate.
Deze waarde wordt standaard automatisch gedetecteerd.
CodesignConfigureDependsOn
Dit is een uitbreidingspunt voor de build: een ontwikkelaar kan doelen aan deze eigenschap toevoegen om deze doelen uit te voeren voordat de build naar een van de eigenschappen van codesigning kijkt.
Dit kan bijvoorbeeld worden gebruikt om ondertekening van code uit te schakelen voor simulator-builds:
<PropertyGroup>
<CodesignConfigureDependsOn>$(CodesignConfigureDependsOn);DisableCodesignInSimulator</CodesignConfigureDependsOn>
</PropertyGroup>
<Target Name="DisableCodesignInSimulator" Condition="'$(SdkIsSimulator)' == 'true'">
<PropertyGroup>
<EnableCodeSigning>false</EnableCodeSigning>
</PropertyGroup>
</Target>
SamenOntwerpenIsAfhankelijkVan
Dit is een uitbreidingspunt voor de build: een ontwikkelaar kan doelen aan deze eigenschap toevoegen om deze doelen uit te voeren voordat de app-bundel wordt ondertekend.
Voorbeeld:
<PropertyGroup>
<CodesignDependsOn>$(CodesignDependsOn);DoThisBeforeCodesign</CodesignDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCodesign">
<Exec Command="echo This is executed right before the app is signed." />
</Target>
CodesignEntitlements
Het pad naar het rechtenbestand dat de rechten aangeeft die de app nodig heeft.
Meestal 'Entitlements.plist'.
Dit wordt automatisch ingesteld op 'Entitlements.plist' als een dergelijk bestand bestaat in de hoofdmap van het project.
Dit kan worden voorkomen door de eigenschap EnableDefaultCodesignEntitlements in te stellen op false.
CodesignExtraArgs
Extra argumenten die worden doorgegeven aan het hulpprogramma 'codesign' bij het ondertekenen van de app-bundel.
CodesignKey
Hiermee geeft u de codeondertekeningssleutel op die moet worden gebruikt bij het ondertekenen van de app-bundel.
CodesignKeychain
De sleutelhanger die moet worden gebruikt tijdens het ondertekenen van code.
CodeSigningKey (codesleutel voor ondertekening)
Hiermee geeft u de codeondertekeningssleutel op die moet worden gebruikt bij het ondertekenen van de app-bundel.
Alleen van toepassing op macOS- en Mac Catalyst-apps, maar het is raadzaam om in plaats daarvan de eigenschap CodesignKey te gebruiken (die op alle platforms werkt).
CodesignProvision
Hiermee geeft u het inrichtingsprofiel op dat moet worden gebruikt bij het ondertekenen van de app-bundel.
CodesignResourceRules
Het pad naar ResourceRules.plist om naar de app-bundel te kopiëren.
CodesignRequireProvisioningProfile
Hiermee geeft u op of een provisioning-profiel vereist is bij het ondertekenen van de app-bundel.
Standaard geldt dat een inrichtingsprofiel vereist is als:
- macOS, Mac Catalyst: er is een inrichtingsprofiel opgegeven (met de eigenschap CodesignProvision).
- iOS, tvOS: gebouw voor apparaat of rechtenbestand is opgegeven (met de eigenschap CodesignEntitlements ).
Als u deze eigenschap instelt op true of false, wordt de standaardlogica overschreven.
ComprimeerBindingsResourcePakket
De systeemeigen verwijzingen in een bindingsprojecten worden tijdens het buildproces gekopieerd naar de uitvoermap, naast de bindingsassembly (in iets wat we een bindingsresourcepakket noemen).
Deze systeemeigen verwijzingen kunnen worden opgeslagen in een zip-bestand (genaamd $(AssemblyName).resources.zip, of as-is, in een map met de naam $(AssemblyName).resources.
De CompressBindingResourcePackage eigenschap geeft aan of een zip-bestand of map moet worden gemaakt.
Mogelijke waarden zijn:
-
auto: bepaal automatisch de beste optie (momenteel wordt er altijd een zip-bestand gemaakt, maar zodra Visual Studio lange paden in Windows ondersteunt, kan dit worden gewijzigd in alleen zip-bindingsresourcepakketten met symlinks). -
true: een ZIP-bestand maken -
false: een map maken
De standaardwaarde is auto.
Dit geldt ook voor de wijze waarop systeemeigen verwijzingen worden opgeslagen in NuGets.
Notitie
In sommige gevallen kan het nuttig zijn om ook een zip-bestand op iOS af te dwingen, vooral wanneer er een framework is met bestanden met lange namen, omdat het zip-bestand soms MAX_PATH problemen in Windows kan omzeilen.
CopySceneKitAssetsPath
Het volledige pad naar het hulpprogramma copySceneKitAssets.
Het standaardgedrag is om xcrun copySceneKitAssetste gebruiken.
CoreMLCompilerPath
Het volledige pad naar het hulpprogramma coremlc.
Het standaardgedrag is om xcrun coremlcte gebruiken.
MakenAppBundelHangtAfVan
Dit is een uitbreidingspunt voor de build: een ontwikkelaar kan alle doelen aan deze eigenschap toevoegen om deze doelen uit te voeren bij het maken van de app-bundel.
Voorbeeld:
<PropertyGroup>
<CreateAppBundleDependsOn>$(CreateAppBundleDependsOn);DoThisBeforeCreatingAppBundle</CreateAppBundleDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingAppBundle">
<Exec Command="echo This is executed before the app bundle is created." />
</Target>
CreateIpaDependsOn
Dit is een uitbreidingspunt voor de build: een ontwikkelaar kan doelen aan deze eigenschap toevoegen om deze doelen uit te voeren bij het maken van een IPA.
Van toepassing op alle platforms die IPA-archieven bouwen (momenteel iOS en tvOS).
Voorbeeld:
<PropertyGroup>
<CreateIpaDependsOn>$(CreateIpaDependsOn);DoThisBeforeCreatingIPA</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingIPA">
<Exec Command="echo This is executed before the IPA is created." />
</Target>
PakketAanmaken
Aan het eind van de build, als er een pakket (.pkg) moet worden gemaakt voor de app-bundel.
Alleen van toepassing op macOS- en Mac Catalyst-projecten.
Zie BuildIpa- voor iOS- en tvOS-projecten.
ApparaatspecifiekeBouw
Als de build specifiek moet zijn voor het geselecteerde apparaat.
Van toepassing op alle platforms die apparaatspecifieke builds ondersteunen (momenteel iOS en tvOS).
DeviceSpecifiekTussentijdsUitvoerPad
Het tussenliggende uitvoerpad dat moet worden gebruikt wanneer apparaatspecifieke builds zijn ingeschakeld.
Van toepassing op alle platforms die apparaatspecifieke builds ondersteunen (momenteel iOS en tvOS).
ApparaatspecifiekUitvoepad
Het uitvoerpad dat moet worden gebruikt wanneer apparaatspecifieke builds zijn ingeschakeld.
Van toepassing op alle platforms die apparaatspecifieke builds ondersteunen (momenteel iOS en tvOS).
DiagnosticAddress
Het IP-adres waar dotnet-dsrouter wordt uitgevoerd. Dit is gebruikelijk 127.0.0.1 wanneer profilering op de simulator plaatsvindt en wanneer het IP-adres van de computer dotnet-dsrouter wanneer profilering op een apparaat plaatsvindt.
Dit is het IP-adresonderdeel van DiagnosticConfiguration.'
Hiermee stelt EnableDiagnostics impliciet in op true.
Standaardwaarde is 127.0.0.1.
Diagnostische configuratie
Een waarde die is opgegeven voor dotnet-dsrouterDOTNET_DiagnosticPorts bijvoorbeeld:
127.0.0.1:9000,suspend,connect127.0.0.1:9000,nosuspend,connect
Houd er rekening mee dat het ,-teken moet worden geëscaped met %2c als het via de opdrachtregel aan dotnet build wordt doorgegeven.
dotnet build -c Release -p:DiagnosticConfiguration=127.0.0.1:9000%2csuspend%2cconnect
Hiermee wordt automatisch de DOTNET_DiagnosticPorts omgevingsvariabele ingesteld die in de toepassing is verpakt, zodat de omgevingsvariabele wordt ingesteld wanneer de app wordt gestart.
Hiermee stelt EnableDiagnostics impliciet in op true.
Het standaardgedrag is om deze waarde te berekenen op basis van de andere diagnostische eigenschappen (DiagnosticAddress, DiagnosticPort, DiagnosticListenMode en DiagnosticSuspend).
Als deze optie is ingesteld, worden alle andere diagnostische eigenschappen genegeerd.
DiagnosticListenMode
Een waarde die door dotnet-dsrouter wordt geleverd, zoals connect of listen, het 'listening mode'-component van DiagnosticConfiguration.
Hiermee stelt EnableDiagnostics impliciet in op true.
Standaardwaarde is listen.
DiagnosticPort
Een waarde die wordt geleverd door dotnet-dsrouter bijvoorbeeld 9000het poortonderdeel DiagnosticConfiguration'.
Hiermee stelt EnableDiagnostics impliciet in op true.
Standaardwaarde is 9000.
DiagnosticSuspend
Een waarde die het opstartgedrag aangeeft bij het profileren van een toepassing.
Instellen dat true de app tijdens het opstarten wordt onderbroken (wacht totdat de diagnostische server verbinding maakt met de app) of false om de app zoals gebruikelijk te starten (en de diagnostische server later met de app te verbinden).
Dit komt overeen met de suspend/nosuspend waarde in DiagnosticConfiguration.'
Hiermee stelt EnableDiagnostics impliciet in op true.
Standaardwaarde is false.
DittoPath
Het volledige pad naar het uitvoerbare bestand ditto.
Het standaardgedrag is om /usr/bin/dittote gebruiken.
EmbedOnDemandResources
Als middelen op aanvraag in de app-bundel moeten worden ingesloten.
Standaard: waar
OndertekenCodeInschakelen
Als ondertekening van code is ingeschakeld.
Ondertekening van code is standaard ingeschakeld voor alle platforms; dit kan worden overschreven met deze eigenschap.
EnableDefaultCodesignEntitlements
Zie CodesignEntitlements.
InschakelenVanResourcesOpAanvraag
Als on-demand resources zijn ingeschakeld.
Standaard: onwaar voor macOS, waar voor alle andere platforms.
PakketondertekeningInschakelen
Als de .pkg die is gemaakt (als CreatePackage is ingeschakeld) moet worden ondertekend.
Alleen van toepassing op macOS en Mac Catalyst.
DiagnostiekInschakelen
Schakel de onderdelen in die nodig zijn voor diagnostische functies, zoals profilering.
Deze functie is standaard ingeschakeld voor foutopsporingsversies (wanneer MtouchDebug of MmpDebug is ingeschakeld), maar moet handmatig worden ingeschakeld voordat de builds van de profileringsrelease worden geprofileerd:
<PropertyGroup>
<EnableDiagnostics>true</EnableDiagnostics>
</PropertyGroup>
Hierdoor wordt de app enigszins groter.
Alleen van toepassing bij het gebruik van de Mono-runtime (CoreCLR ondersteunt altijd diagnostische gegevens, terwijl NativeAOT nooit doet).
EnableSGenConc
Hiermee schakelt u de gelijktijdige modus voor de SGen garbage collector in.
Alleen van toepassing op iOS, tvOS en Mac Catalyst (wanneer u Geen NativeAOT gebruikt).
EventSourceSupport
Wanneer ingesteld op false, schakelt dit de .NET EventSource-ondersteuning uit in getrimde applicaties. Als u deze functie uitschakelt, voorkomt u dat .NET-diagnostische hulpprogramma's zoals dotnet-counters werken, maar dat resulteert wel in een kleinere toepassingsgrootte.
Standaard: ingesteld op false wanneer Optimize is ingesteld op true, wat de standaard is voor Release builds, tenzij $(EnableDiagnostics) is ingeschakeld.
GenereerApplicatieManifest
Als er een toepassingsmanifest (Info.plist) moet worden gegenereerd.
Standaard: waar
GeneratedSourcesDir
Waar de gegenereerde bronnen van de generator worden opgeslagen.
InclusiefAlleAppIconen
Stel de eigenschap IncludeAllAppIcons in op True om automatisch alle app-pictogrammen uit alle assetcatalogussen in de app op te nemen.
Voorbeeld:
<PropertyGroup>
<IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>
Zie ook:
- De AlternateAppIcon item groep.
- De eigenschap AppIcon.
Minimale iOS Versie
Hiermee geeft u de minimale iOS-versie op waarop de app kan worden uitgevoerd.
Van toepassing op iOS; als u deze waarde instelt, wordt SupportedOSPlatformVersion voor iOS-projecten (alleen) ingesteld.
IPhoneResourcePrefix
De map waarin resources worden opgeslagen (dit voorvoegsel wordt verwijderd bij het kopiëren van resources naar de app-bundel).
Van toepassing op iOS-, tvOS- en Mac Catalyst-projecten.
Overweeg in plaats daarvan de geïntegreerde eigenschap AppBundleResourcePrefix te gebruiken.
Zie ook MonoMacResourcePrefix en XamMacResourcePrefix.
IpaIncludeArtwork
Als kunstwerken zouden moeten worden opgenomen in de IPA.
Alleen van toepassing op iOS- en tvOS-projecten.
IpaPackageName
Hiermee geeft u de naam van het resulterende IPA-bestand (zonder het pad) bij het maken van een IPA-pakket (zie BuildIpa). IpaPackagePath deze waarde overschrijft.
Alleen van toepassing op iOS- en tvOS-projecten.
IpaPackageDir
Hiermee geeft u de map van het resulterende IPA-bestand bij het maken van een IPA-pakket (zie BuildIpa-). IpaPackagePath deze waarde overschrijft.
Alleen van toepassing op iOS- en tvOS-projecten.
IpaPackagePath
Hiermee geeft u het pad naar het resulterende IPA-bestand bij het maken van een IPA-pakket (zie BuildIpa-).
Alleen van toepassing op iOS- en tvOS-projecten.
IsAppExtension
Als een project een app-extensie is.
IsBindingProject
Als een project een bindingsproject is.
IsXPCService
Als een macOS-extensie een xpc-service is.
Alleen van toepassing op macOS-projecten.
Koppelingsmodus
Hiermee geeft u de koppelingsmodus voor het project (None, SdkOnly of Full).
Deze eigenschap is van toepassing op macOS-projecten, maar deze eigenschap is afgeschaft, gebruikt in plaats daarvan TrimMode.
Zie ook MtouchLink.
Koppel met Swift-systeem bibliotheken
Als deze optie is ingesteld op true, vertelt de build de systeemeigen linker waar de systeembibliotheken van Swift te vinden zijn.
Dit is handig wanneer een systeemeigen bibliotheek swift gebruikt, in welk geval de systeemeigen linker moet weten waar de systeembibliotheken van Swift moeten worden gevonden.
Dit betekent momenteel dat deze argumenten worden doorgegeven aan de native linker.
- -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/[platform]
- -L/Applications/Xcode.app/Contents/Developer/Platforms/[platform].platform/Developer/SDK/[platform].sdk/usr/lib/swift
De exacte set argumenten kan in de toekomst veranderen.
MacCatalystMinimaleVersie
Hiermee geeft u de minimale Versie van Mac Catalyst (iOS) op waarop de app kan worden uitgevoerd.
Van toepassing op Mac Catalyst; als u deze waarde instelt, wordt SupportedOSPlatformVersion voor Mac Catalyst-projecten (alleen) ingesteld.
MaciOSPrepareForBuildDependsOn
Een door puntkomma's gescheiden eigenschap die kan worden gebruikt om het buildproces uit te breiden. MSBuild-doelen die aan deze eigenschap worden toegevoegd, worden vroeg in de build uitgevoerd voor zowel toepassings- als bibliotheekprojecttypen. Deze eigenschap is standaard leeg.
Voorbeeld:
<PropertyGroup>
<MaciOSPrepareForBuildDependsOn>$(MaciOSPrepareForBuildDependsOn);MyCustomTarget</MaciOSPrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Deze eigenschap is geïntroduceerd in .NET 9.
macOSMinimumVersion
Hiermee geeft u de minimale macOS-versie op waarop de app kan worden uitgevoerd.
Van toepassing op macOS; als u deze waarde instelt, wordt SupportedOSPlatformVersion- ingesteld voor macOS-projecten (alleen).
MacOSXSdkVersion
De macOS SDK-versie die moet worden gebruikt voor de build.
Standaard: automatisch gedetecteerd volgens de standaardversie die is verzonden met de geselecteerde Xcode.
Zie ook MtouchSdkVersion.
MarshalManagedExceptionMode
Kies hoe beheerde uitzonderingen worden verwerkt bij het tegenkomen van een systeemeigen frame tijdens het afwikkelen van de stack tijdens het verwerken van de beheerde uitzondering.
Geldige waarden:
-
default: Momenteel is ditthrowobjectivecexception. -
unwindnativecode: dit is niet beschikbaar wanneer u de CoreCLR-runtime gebruikt. -
throwobjectivecexception: Vang de beheerde uitzondering op en zet deze om in een Objective-C-uitzondering. -
abort: Het proces afbreken. -
disable: Schakel het onderscheppen van eventuele beheerde uitzonderingen uit. Voor MonoVM is dit gelijk aanunwindnativecode, voor CoreCLR is dit gelijk aanabort.
Zie Exception marshaling en MarshalObjectiveCExceptionMode voor meer informatie.
MarshalObjectiveCExceptionMode
Kies hoe Objective-C-uitzonderingen worden verwerkt wanneer er een beheerd frame wordt aangetroffen tijdens de stapelafwikkeling bij de verwerking van de Objective-C-uitzondering.
Geldige waarden:
-
default: Momenteel is ditthrowmanagedexception. -
unwindmanagedcode: dit is niet beschikbaar wanneer u de CoreCLR-runtime gebruikt. -
throwmanagedexception: De Objective-C uitzondering ondervangen en deze converteren naar een beheerde uitzondering. -
abort: Het proces afbreken. -
disable: Schakel het onderscheppen van eventuele Objective-C uitzonderingen uit.
Zie Exception marshaling en MarshalManagedExceptionMode voor meer informatie.
MdimportPath
Het volledige pad naar het hulpprogramma mdimport.
Het standaardgedrag is om xcrun mdimportte gebruiken.
MetalLibPath
Het volledige pad naar het metallib gereedschap (de Metal Linker).
Het standaardgedrag is om xcrun metallibte gebruiken.
MetalPath
Het volledige pad naar de Metal-compiler.
Het standaardgedrag is om xcrun metalte gebruiken.
MetricsSupport
Als deze is ingesteld op false, schakelt het de ondersteuning van .NET Metrics uit voor bijgesneden toepassingen. Als u deze functie uitschakelt, zouden API's zoals System.Diagnostics.Metrics niet meer functioneren, maar dit heeft als voordeel dat de toepassingsgrootte afneemt.
Standaard: ingesteld op false wanneer Optimize is ingesteld op true, wat de standaard is voor Release builds, tenzij $(EnableDiagnostics) is ingeschakeld.
MmpDebug
Hiermee schakelt u de foutopsporingsmodus in voor het maken van app-bundels.
Alleen van toepassing op macOS-projecten.
Zie ook MtouchDebug.
AgressieveAttribuutTrimmenOpMobiel
Deze eigenschap bepaalt of talloze kenmerken die tijdens runtime zeer zelden nodig zijn, moeten worden afgekapt.
Dit is standaard ingeschakeld.
Hoewel de kenmerken die worden verwijderd zeer zelden worden gebruikt, is het technisch mogelijk dat de verwijdering runtimegedrag kan wijzigen.
System.Xml.Serialization werkt bijvoorbeeld anders als een constructor het [Obsolete] kenmerk heeft (een van de kenmerken die worden verwijderd). Dit is weinig risico om te rechtvaardigen dat deze kenmerken standaard worden verwijderd vanwege de besparingen op de grootte.
De lijst met kenmerken die worden verwijderd, kan in de toekomst veranderen, maar op het moment van schrijven (voor .NET 10) zijn dit de kenmerken:
- Microsoft.CodeAnalysis.EmbeddedAttribute
- System.CLSCompliantAttribute
- System.CodeDom.Compiler.GeneratedCodeAttribute
- System.ComponentModel.EditorBrowsableAttribute
- System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute
- System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute
- System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute
- System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
- System.Diagnostics.CodeAnalysis.ExperimentalAttribute
- 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
- System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute
- 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
Deze eigenschap is geïntroduceerd in .NET 10.
MonoBundlingExtraArgs
Aanvullende argumenten die aangeven hoe de app-bundel moet worden gemaakt.
Alleen van toepassing op macOS-projecten.
Deze eigenschap is afgeschaft en gebruikt in plaats daarvan AppBundleExtraOptions-.
MonoMacResourcePrefix
De map waarin resources worden opgeslagen (dit voorvoegsel wordt verwijderd bij het kopiëren van resources naar de app-bundel).
Alleen van toepassing op macOS-projecten.
Overweeg in plaats daarvan de geïntegreerde eigenschap AppBundleResourcePrefix te gebruiken.
Zie ook IPhoneResourcePrefix en XamMacResourcePrefix.
MonoUseCompressedInterfaceBitmap
Hiermee wordt de Mono-runtime geïnstrueerd om een gecomprimeerde versie van interface-bitmaps te gebruiken (interface-bitmaps worden gebruikt om te bepalen of een bepaald type een gegeven interface implementeert).
Deze bitmaps kunnen tijdens runtime een aanzienlijke hoeveelheid geheugen gebruiken, met name voor apps met een aanzienlijke hoeveelheid interfaces.
Deze instelling is standaard uitgeschakeld, maar kan als volgt worden ingeschakeld, waardoor de hoeveelheid geheugen die tijdens runtime wordt gebruikt, wordt verminderd:
<PropertyGroup>
<MonoUseCompressedInterfaceBitmap>true</MonoUseCompressedInterfaceBitmap>
</PropertyGroup>
Het nadeel is dat typecontroles (obj is SomeInterface) langzamer zijn.
Alleen van toepassing bij het gebruik van de Mono-runtime.
MtouchDebug
Hiermee schakelt u de foutopsporingsmodus in voor het maken van app-bundels.
Van toepassing op iOS-, tvOS- en Mac Catalyst-projecten.
Zie ook MmpDebug.
MtouchEnableSGenConc
Hiermee schakelt u de gelijktijdige modus voor de SGen garbage collector in.
Alleen van toepassing op iOS, tvOS en Mac Catalyst wanneer u NativeAOT niet gebruikt.
Deze eigenschap is afgeschaft. Gebruik in plaats daarvan EnableSGenConc-.
MtouchExtraArgs
Aanvullende argumenten die aangeven hoe de app-bundel moet worden gemaakt.
Alleen van toepassing op iOS-, tvOS- en Mac Catalyst-projecten.
Deze eigenschap is afgeschaft en gebruikt in plaats daarvan AppBundleExtraOptions-.
MtouchInterpreter
Hiermee wordt de interpreter ingeschakeld, en kan optioneel een door komma's gescheiden lijst met assembly's worden gegeven om te interpreteren (als voorafgegaan door een minteken, zal de assembly in plaats daarvan worden gecompileerd met AOT). 'all' kan worden gebruikt om alle assembly's op te geven. Dit argument kan meerdere keren worden opgegeven.
Voorbeeld:
<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>
Een verkorte schrijfwijze voor de MtouchInterpreter is UseInterpreter=truete zetten, dat overeenkomt met MtouchInterpreter=all.
Als zowel UseInterpreter als MtouchInterpreter zijn ingesteld, heeft MtouchInterpreter voorrang.
Van toepassing op iOS-, tvOS- en Mac Catalyst-apps (wanneer u Geen NativeAOT gebruikt).
Het standaardgedrag is om de interpreter niet in te schakelen.
Notitie
MAUI wijzigt de standaardinstelling door UseInterpreter=true in te stellen voor de "Debug"-configuratie.
MtouchLink
Hiermee geeft u de koppelingsmodus voor het project (None, SdkOnly, Full).
Van toepassing op iOS-, tvOS- en Mac Catalyst-projecten, maar deze eigenschap is afgeschaft, gebruik in plaats daarvan TrimMode.
Zie ook LinkMode.
MtouchSdkVersion
De iOS- of tvOS SDK-versie die moet worden gebruikt voor de build.
Standaard: automatisch gedetecteerd volgens de standaardversie die is verzonden met de geselecteerde Xcode.
Zie ook MacOSXSdkVersion.
MtouchUseLlvm
Een booleaanse eigenschap die aangeeft of de AOT-compilatie moet worden uitgevoerd met behulp van LLVM.
Van toepassing op iOS-, tvOS- en Mac Catalyst-projecten.
Verstek:
- Op iOS en tvOS: ingeschakeld voor release-builds (waarbij
Configuration="Release"). - Op Mac Catalyst: nooit standaard ingeschakeld.
NoBindingEmbedding
Een booleaanse eigenschap die aangeeft of systeemeigen bibliotheken in bindingsprojecten moeten worden ingesloten in de beheerde assembly of in een .resources map naast de beheerde assembly moeten worden geplaatst.
De standaardwaarde is true (wat betekent dat systeemeigen bibliotheken niet worden ingesloten in de beheerde assembly).
Notitie
Xcframeworks werkt niet goed als deze is ingesloten in de beheerde assembly (als deze eigenschap niet is true).
NoDSymUtil
Een booleaanse eigenschap die aangeeft of .dSYM-generatie moet worden uitgeschakeld.
Verstek:
-
truevoor iOS en tvOS bij het bouwen voor de simulator. -
truevoor macOS en Mac Catalyst, tenzij u een archief maakt (ArchiveOnBuild=true)
Dit betekent dat het .dSYM-archief wordt gegenereerd in de volgende gevallen (standaard):
- Op iOS en tvOS bij het bouwen voor apparaten.
- Op macOS en Mac Catalyst bij het maken van een archief (
ArchiveOnBuild=true).
NoSymbolStrip
Een booleaanse eigenschap die aangeeft of foutopsporingssymbolen tijdens de build worden verwijderd uit de app.
Het standaardgedrag is het behouden van foutopsporingssymbolen voor:
-
Debugbouwt voor desktopplatforms. - Simulator bouwt voor mobiele platforms.
Voorbeeld voor het behouden van foutopsporingssymbolen:
<PropertyGroup>
<NoSymbolStrip>true</NoSymbolStrip>
</PropertyGroup>
OnDemandResourcesInitialInstallTags
Een tekenreekseigenschap die de aanvankelijke installatietags voor on-demand resources aangeeft.
Voorkeursvolgorde voor OnDemand Resources
Een tekenreekseigenschap die de prefetch-volgorde voor on-demand resources aangeeft.
OnDemandResourcesUrl
Een string-eigenschap die de resource-URL van on-demand resources opgeeft.
OptimaliseerPNGs
Een booleaanse eigenschap die aangeeft of png-afbeeldingen moeten worden geoptimaliseerd.
(No improvements needed if the term is confirmed as a proper noun or technical term that must remain in English.)
Dit is een uitbreidingspunt voor de build: een ontwikkelaar kan doelen aan deze eigenschap toevoegen om deze doelen uit te voeren voordat png-afbeeldingen worden geoptimaliseerd.
Voorbeeld:
<PropertyGroup>
<OptimizePngImagesDependsOn>$(OptimizePngImagesDependsOn);MyCustomTarget</OptimizePngImagesDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
OptimizePropertyLists
Een booleaanse eigenschap die aangeeft of eigenschappenlijsten (plists) moeten worden geoptimaliseerd.
OptimaliseerEigenschapslijstenAfhankelijkVan
Dit is een uitbreidingspunt voor de build: een ontwikkelaar kan doelen aan deze eigenschap toevoegen om deze doelen uit te voeren voordat een eigenschappenlijst (plists) wordt geoptimaliseerd.
Voorbeeld:
<PropertyGroup>
<OptimizePropertyListsDependsOn>$(OptimizePropertyListsDependsOn);MyCustomTarget</OptimizePropertyListsDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
PakketOndertekeningsSleutel
Hiermee specificeert u de codesleutel voor het ondertekenen van het pakket bij het maken van een .pkg voor een macOS- en Mac Catalyst-project.
Alleen van toepassing op macOS- en Mac Catalyst-apps.
PackagingExtraArgs
Hiermee geeft u eventuele extra argumenten die moeten worden doorgegeven aan het hulpprogramma 'productbuild' bij het maken van .pkg voor een macOS- en Mac Catalyst-project.
Alleen van toepassing op macOS- en Mac Catalyst-apps.
PkgPackagePath
Hiermee geeft u het pad naar het resulterende .pkg bestand bij het maken van een pakket (zie CreatePackage).
Alleen van toepassing op macOS- en Mac Catalyst-apps.
PlutilPath
Het volledige pad naar het opdrachtregelprogramma plutil.
Het standaardgedrag is om xcrun plutilte gebruiken.
PngCrushPath
Het volledige pad naar het opdrachtregelprogramma pngcrush.
Het standaardgedrag is om xcrun pngcrushte gebruiken.
ProcessEnums
Een booleaanse eigenschap die aangeeft of opsommingen moeten worden verwerkt als api-definitie in bindingsprojecten.
ProductBuildPath
Het volledige pad naar het hulpprogramma productbuild.
Het standaardgedrag is om xcrun productbuildte gebruiken.
Productdefinitie
De productdefinitiesjabloon (.plist) die moet worden gebruikt bij het maken van de productdefinitie om door te geven aan het hulpprogramma voor productbuild bij het maken van pakketten (.pkg).
Alleen van toepassing op macOS- en Mac Catalyst-apps.
ReferenceNativeSymbol
De itemgroep ReferenceNativeSymbol kan worden gebruikt om op te geven hoe een bepaald systeemeigen symbool moet worden verwerkt: negeer het of vraag de systeemeigen linker om het te behouden (door het symbool als -u ... of in een symboolbestand door te geven aan de systeemeigen linker).
Er zijn twee ondersteunde typen metagegevens:
-
SymbolType:ObjectiveCClass,FunctionofField. Wordt gebruikt om de volledige systeemeigen naam van een symbool te berekenen (bijvoorbeeld het systeemeigen symbool voor de Objective-C klasseMyClassis_OBJC_CLASS_$_MyClass, terwijl voor een functieMyFunctionhet slechts_MyFunction. -
SymbolMode:Ignoreof niet ingesteld.Ignorebetekent dat het opgegeven symbool niet aan de systeemeigen linker moet worden doorgegeven; de standaardinstelling is om dit wel te doen.
SymbolType is vereist, terwijl SymbolMode dat niet is.
Voorbeeldsymbool dat u wilt behouden:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" />
</ItemGroup>
Voorbeeldsymbool dat moet worden genegeerd:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" SymbolMode="Ignore" />
</ItemGroup>
VereisKoppelingMetAttribuutVoorObjectiveCKlassenZoekopdracht
We scannen automatisch alle bibliotheken voor beheerde klassen die zijn toegewezen aan bestaande Objective-C klassen en maken vervolgens een systeemeigen verwijzing tijdens de build voor die Objective-C klassen.
Op deze manier verwijdert de systeemeigen linker deze Objective-C klassen niet, denkend dat ze niet worden gebruikt.
Dit kan echter een probleem veroorzaken als een beheerde klasse verwijst naar een Objective-C-klasse die niet bestaat. De juiste oplossing hiervoor is om dergelijke beheerde klassen uit de build te verwijderen, maar dit kan lastig zijn, met name als de beheerde klasse afkomstig is van een binaire verwijzing (zoals NuGet).
In deze gevallen is het mogelijk om de eigenschap RequireLinkWithAttributeForObjectiveCClassSearch in te stellen op true, zodat we alleen bibliotheken scannen met het kenmerk [LinkWith] voor Objective-C klassen:
<PropertyGroup>
<RequireLinkWithAttributeForObjectiveCClassSearch>true</RequireLinkWithAttributeForObjectiveCClassSearch>
</PropertyGroup>
RunWithOpen
Met deze eigenschap wordt bepaald of apps worden gestart met behulp van de open opdracht in macOS of of het uitvoerbare bestand van de app rechtstreeks wordt uitgevoerd.
Dit geldt alleen voor macOS- en Mac Catalyst-apps.
De standaardwaarde is true. In deze modus wordt de app gestart door macOS als elke andere UI-toepassing, wordt elke stdout/stderr-uitvoer door macOS ingeslikt en wordt de opdracht voltooid zodra de dotnet run app is gestart.
Indien ingesteld op false, wordt alle stdout/stderr-uitvoer afgedrukt naar de huidige terminal en wordt de dotnet run-opdracht pas voltooid nadat de app is afgesloten.
De volgende eigenschappen kunnen worden gebruikt om het gedrag te configureren wanneer deze is ingesteld op true (d.w.z. met de open opdracht):
OpenNewInstance
Als er een nieuw exemplaar wordt geopend als de app al wordt uitgevoerd (standaard ingesteld op false).
Deze waarde wordt doorgegeven aan -n als open is ingesteld op true.
Voorbeeld:
$ dotnet run -p:OpenNewInstance=false
OpenWaitForExit
Als 'dotnet run' moet wachten totdat de app beëindigt (wordt standaard ingesteld op false).
Deze waarde wordt doorgegeven aan -W als open is ingesteld op true.
Voorbeeld:
$ dotnet run -p:OpenWaitForExit=true
OpenArgumenten
Deze eigenschap kan worden gebruikt om extra argumenten door te geven aan de open opdracht.
Voorbeeld (om omgevingsvariabelen in te stellen):
$ dotnet run -p:OpenArguments="--env VARIABLE1=VALUE1 --env VARIABLE2=value2"
Voorbeeld (om stdout en stderr om te leiden naar een bestand):
$ dotnet run -p:OpenArguments="--stdout /tmp/stdout.txt --stderr /tmp/stderr.txt"
Voer uit man open om een lijst weer te geven met alle opties open die worden geaccepteerd.
StandaardUitvoerPad
Deze eigenschap kan worden gebruikt om de stdout-uitvoer van de app om te leiden naar een bestand.
Voorbeeld van schrijven naar een bestand:
$ dotnet run -p:StandardOutputPath=stdout.txt
Voorbeeld van schrijven naar de huidige terminal:
$ dotnet run -p:StandardOutputPath=$(tty)
[... Console.WriteLine output from app ...]
Opmerking: dit kan ook worden bereikt door de eigenschap --stdout ... geven.
StandardErrorPath
Deze eigenschap kan worden gebruikt om de stderr-uitvoer van de app om te leiden naar een bestand.
Voorbeeld van schrijven naar een bestand:
$ dotnet run -p:StandardErrorPath=stderr.txt
Voorbeeld van schrijven naar de huidige terminal:
$ dotnet run -p:StandardErrorPath=$(tty)
[... Console.Error.WriteLine output from app ...]
Opmerking: dit kan ook worden bereikt door de eigenschap --stderr ... geven.
StandardInputPath
Deze eigenschap kan worden gebruikt om de stdin-invoer vanuit een bestand om te leiden naar de app.
Voorbeeld:
$ dotnet run -p:StandardInputPath=stdin.txt
Opmerking: dit kan ook worden bereikt door de eigenschap --stdin ... geven.
SdkIsSimulator
Deze eigenschap is een alleen-lezen eigenschap (het instellen ervan heeft geen effect) die aangeeft of we voor een simulator bouwen of niet.
Deze wordt alleen ingesteld nadat de import- en eigenschappen zijn geëvalueerd. Dit betekent dat de eigenschap niet is ingesteld tijdens het evalueren van de eigenschappen in het projectbestand, dus dit werkt niet :
<PropertyGroup>
<EnableCodeSigning Condition="'$(SdkIsSimulator)' == 'true'">false</EnableCodeSigning>
</PropertyGroup>
Het volgende werkt echter:
<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>
Opmerking: deze eigenschap is altijd false beschikbaar in macOS en Mac Catalyst.
StripPath
Het volledige pad naar het opdrachtregelprogramma strip.
Het standaardgedrag is om xcrun stripte gebruiken.
SupportedOSPlatformVersion
Hiermee geeft u de minimale versie van het besturingssysteem op waarop de app kan worden uitgevoerd.
Het is ook mogelijk om een platformspecifieke eigenschap te gebruiken:
TrimMode
Hiermee geeft u de granulariteit van het bijsnijden op.
De geldige opties zijn:
-
full: Trim elke samenstelling. -
partial: Trim assembly's die hebben gekozen voor bijsnijden. -
copy: Verwijder geen samenstellingen.
Zie TrimMode voor meer informatie over de eigenschap TrimMode.
Notitie
Om technische redenen moet de trimmer worden uitgevoerd voor alle iOS-, tvOS-, macOS- en Mac Catalyst-projecten, zelfs als er geen assembly's moeten worden ingekort. Om deze reden is het niet geldig om bijsnijden uit te schakelen door PublishTrimmed in te stellen op false - om bijsnijden wel uit te schakelen, stel je in plaats daarvan TrimMode=copy in (er wordt een buildfout gegenereerd als PublishTrimmed is ingesteld op false).
De eigenschap TrimMode is gelijk aan de bestaande MtouchLink- (voor iOS, tvOS en Mac Catalyst) en LinkMode (voor macOS), maar de geldige eigenschappenwaarden verschillen (ook al zijn de semantiek hetzelfde):
| MtouchLink/LinkMode | TrimMode |
|---|---|
| Vol | vol |
| SdkOnly | gedeeltelijk |
| Geen | kopiëren |
In de toekomst worden de eigenschappen MtouchLink en LinkMode afgeschaft. Gebruik in plaats daarvan TrimMode.
De standaard trimmodus is afhankelijk van talloze factoren en kan ook in de toekomst veranderen.
De huidige standaardwaarden (vanaf .NET 9) zijn:
- iOS en iOS:
partialbij het bouwen voor het apparaat,copybij het bouwen voor de simulator. - macOS: altijd
copy. - Mac Catalyst:
partialbij het bouwen van de"Release"-configuratie, anderscopy.
Uitzonderingen:
- De standaardwaarde wordt altijd
fullbij het bouwen met NativeAOT. - MAUI wijzigt de standaardwaarde in
copybij het bouwen van deDebug-configuratie en wanneer de interpreter is ingeschakeld met behulp van UseInterpreter (wat MAUI ook standaard inschakelt bij het gebruik van de"Debug"-configuratie).
Notitie
De standaard trimmodus kan in de toekomst veranderen.
tvOSMinimumVersie
Hiermee geeft u de minimale tvOS-versie op waarop de app kan worden uitgevoerd.
Van toepassing op tvOS; als u deze waarde instelt, wordt SupportedOSPlatformVersion- ingesteld voor tvOS-projecten (alleen).
GebruikDynamischeDoelplatformVersie
Een booleaanse eigenschap die bepaalt of bibliotheekprojecten een zwevende doelplatformversie of de oudste beschikbare platformversie moeten gebruiken.
Bibliotheekprojecten zonder expliciete TargetPlatformVersion verwijzingsassembly's (vanaf .NET 10) gebruiken standaard de oudste beschikbare referentieassembly's voor de huidige .NET-versie. Dit zorgt voor maximale compatibiliteit en stelt bibliotheekcode in staat om te compileren op basis van het minimale API-oppervlak dat beschikbaar is voor het doelframework.
Dit standaardgedrag betekent echter dat bibliotheekprojecten anders worden gebouwd dan uitvoerbare projecten (die gebruikmaken van de nieuwste platformversie). Code die in een uitvoerbaar project werkt, kan niet worden gecompileerd wanneer deze wordt verplaatst naar een bibliotheekproject als er api's worden gebruikt die alleen beschikbaar zijn in nieuwere platformversies.
Als u deze eigenschap instelt om de automatische selectie van de oudste platformversie uit te true schakelen, kan het bibliotheekproject de standaardplatformversie (meest recente) gebruiken, zoals uitvoerbare projecten.
Voorbeeld:
<PropertyGroup>
<!-- Use the latest platform version instead of the oldest -->
<UseFloatingTargetPlatformVersion>true</UseFloatingTargetPlatformVersion>
</PropertyGroup>
Standaard: false (gebruik de oudste platformversie voor bibliotheekprojecten in .NET 10+).
Deze eigenschap is alleen van toepassing op bibliotheekprojecten (OutputType=Library) die geen app-extensies zijn en die geen expliciete doelplatformversie hebben opgegeven (de doelplatformversie is het optionele versienummer aan het einde van de TargetFramework eigenschap, bijvoorbeeld voor TargetFramework net10.0-ios26.0 is de doelplatformversie expliciet 26.0).
Deze eigenschap is geïntroduceerd in .NET 10.
UseHardenedRuntime
Een booleaanse eigenschap die aangeeft of een beperkte runtime is ingeschakeld.
Van toepassing op macOS- en Mac Catalyst-projecten.
GebruikInterpreter
Hiermee schakelt u de interpreter in (voor alle assembly's).
Dit komt overeen met het instellen van MtouchInterpreter=all.
Van toepassing op iOS-, tvOS- en Mac Catalyst-apps (wanneer u Geen NativeAOT gebruikt).
Het standaardgedrag is om de interpreter niet in te schakelen.
Notitie
MAUI wijzigt de standaardinstelling door UseInterpreter=true in te stellen voor de "Debug"-configuratie.
Zie MtouchInterpreter- voor meer informatie.
UseNativeHttpHandler
Of de systeemeigen HTTP-handler de standaard-HTTP-handler moet zijn of niet.
Standaard: waar voor alle platforms, met uitzondering van macOS.
VerifieerRechten
Kies of de toestemmingen die de app aanvraagt gevalideerd moeten worden.
Geldige waarden voor deze eigenschap:
-
disable: Validatie is uitgeschakeld. -
warn: Eventuele validatiefouten worden weergegeven als waarschuwingen. -
error: Eventuele validatiefouten worden weergegeven als fouten. Dit is de standaardwaarde.
Het validatieproces valideert mogelijk niet alle rechten, noch is het gegarandeerd dat het niet te veel is.
Als de validatie mislukt voor rechten die daadwerkelijk werken, dient u een nieuw probleem in.
ValidateXcodeVersion
Kies of de huidige Xcode-versie moet worden gevalideerd.
De standaardwaarde is voor valideren; stel in op false om te deactiveren.
Notitie
Het gebruik van een andere versie dan de aanbevolen versie veroorzaakt waarschijnlijk later in het buildproces problemen.
XamMacResourcePrefix
De map waarin resources worden opgeslagen (dit voorvoegsel wordt verwijderd bij het kopiëren van resources naar de app-bundel).
Van toepassing op macOS-projecten.
Overweeg in plaats daarvan de geïntegreerde eigenschap AppBundleResourcePrefix te gebruiken.
Zie ook IPhoneResourcePrefix en MonoMacResourcePrefix.
ZipPath
Het volledige pad naar het opdrachtregelprogramma zip.
Het standaardgedrag is om xcrun zipte gebruiken.