Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
MSBuild-egenskaper styr målens beteende. De anges i projektfilen, till exempel MyApp.csproj, i en MSBuild PropertyGroup.
AltoolPath
Den fullständiga sökvägen till verktyget altool.
Standardbeteendet är att använda xcrun altool.
AppBundleResourcePrefix
Katalogen där resurser lagras (det här prefixet tas bort när resurser kopieras till apppaketet).
Om den inte uttryckligen anges ärver den här egenskapen dess värde från de plattformsspecifika resursprefixegenskaperna (IPhoneResourcePrefix, MonoMacResourcePrefix eller XamMacResourcePrefix beroende på plattform).
Standard: "Resurser"
AppBundleDir
Platsen för det skapade apppaketet.
AppBundleExtraOptions
Avancerade ytterligare argument för att skapa apppaket.
Den giltiga uppsättningen argument beror på plattformen.
Dessa bör vanligtvis inte användas om de inte anges av en Microsoft-tekniker.
AppIcon
Objektgruppen AppIcon kan användas för att ange en appikon för appen.
Värdet för egenskapen måste peka på filnamnet för en .appiconset (för iOS, macOS och Mac Catalyst) eller .brandassets (för tvOS) avbildningsresurs i en tillgångskatalog.
Exempel:
<PropertyGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAppIcon.appiconset" resource would be "MyAppIcon" -->
<AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>
Se även:
- Objektgruppen AlternateAppIcon.
- Egenskapen IncludeAllAppIcons.
ApplikationsVisningsVersion
Om värdet anges anger du CFBundleShortVersionString värdet i appmanifestet (Info.plist).
Det här är en egenskap som stöder .NET "Single Project".
Mer information finns i OneDotNetSingleProject .
ApplicationId
Om värdet anges anger du CFBundleIdentifier värdet i appmanifestet (Info.plist).
Det här är en egenskap som stöder .NET "Single Project".
Mer information finns i OneDotNetSingleProject .
Applikationstitel
Om värdet anges anger du CFBundleDisplayName i appmanifestet (Info.plist).
Det här är en egenskap som stöder .NET "Single Project".
Mer information finns i OneDotNetSingleProject .
Applikationsversion
Om värdet anges anger du CFBundleVersion i appmanifestet (Info.plist).
Det här är en egenskap som stöder .NET "Single Project".
Mer information finns i OneDotNetSingleProject .
ArchiveBasePath
Platsen där arkiv lagras i Windows för en fjärrversion.
Standardvärdet är: %LocalAppData%\Xamarin\iOS\Archives
Gäller endast för iOS-projekt (eftersom endast iOS-projekt kan byggas via fjärranslutning från Windows).
ArchiveOnBuild
Om ett Xcode-arkiv ska skapas i slutet av bygget.
BGenEmitDebugInformation
bgen Om verktyget (bindningsgeneratorn) ska generera felsökningsinformation eller inte.
Standardbeteendet är true när egenskapen Debug är inställd på true.
BGenExtraArgs
Eventuella extra argument till bgen verktyget (bindningsgeneratorn).
BGenToolExe
Namnet på den bgen körbara filen (ett verktyg som används av bindningsprojekt för att generera bindningar).
Standardbeteendet är att använda verktyget bgen som levereras med vår arbetsbelastning.
BGenToolPath
Katalogen där bgen (BGenToolExe) finns.
Standardbeteendet är att använda verktyget bgen som levereras med vår arbetsbelastning.
BuildIpa
Om ett paket (.ipa) ska skapas för apppaketet i slutet av versionen.
Gäller endast för iOS- och tvOS-projekt.
Se CreatePackage för macOS- och Mac Catalyst-projekt.
BundleCreateDump
CoreCLR har ett kommandoradsverktyg som anropas createdump för att skapa kärndumpar om processen kraschar. macOS skapar automatiskt kraschrapporter för alla App Store-appar och gör dem tillgängliga för apputvecklaren, så createdump verktyget är inte användbart för många macOS-appar, och därför ingår det inte i appar som standard.
Detta kan åsidosättas genom att ange egenskapen BundleCreateDump :
<PropertyGroup>
<BundleCreateDump>true</BundleCreateDump>
</PropertyGroup>
Obs! Verktyget createdump fungerar för närvarande inte för sandbox-appar (#18961);
Gäller endast för projekt som använder CoreCLR-körningen (som i skrivande stund bara är macOS-projekt).
BundleOriginalResources
Den här egenskapen avgör om resurser kompileras innan de bäddas in i biblioteksprojekt, eller om den ursprungliga (okompilerade) versionen är inbäddad.
Tidigare har resurser kompilerats innan de har bäddats in i biblioteksprojekt, men detta kräver att Xcode är tillgängligt, vilket har några nackdelar:
- Det saktar ned fjärrbyggen i Windows.
- Det fungerar inte när du skapar lokalt i Windows, och inte heller på någon annan plattform förutom macOS.
- Resurser kompileras med den aktuella tillgängliga Xcode, som kanske inte har samma funktioner som en potentiellt nyare Xcode tillgänglig när biblioteket i fråga används.
- Det gör det omöjligt att ha en helprogramvy över alla resurser när du skapar en app, vilket är nödvändigt för att identifiera motstridiga resurser.
Därför har vi lagt till stöd för att bädda in de ursprungliga resurserna i bibliotek. Detta kommer att vara ett opt-in-val i .NET 9, men ett opt-out-val från och med .NET 10.
Standardvärdet för den här egenskapen false i .NET 9 och true i .NET 10+.
Anmärkning
Skapa ett problem om du upptäcker att du behöver inaktivera den här funktionen eftersom det är möjligt att alternativet att inaktivera den tas bort i framtiden.
CodesignAllokera
Sökvägen till codesign_allocate verktyget.
Som standard identifieras det här värdet automatiskt.
CodesignConfigureDependsOn
Det här är en tilläggspunkt för bygget: en utvecklare kan lägga till alla mål i den här egenskapen för att köra dessa mål innan bygget tittar på någon av codesigning-egenskaperna.
Detta kan till exempel användas för att inaktivera kodsignering för simulatorversioner:
<PropertyGroup>
<CodesignConfigureDependsOn>$(CodesignConfigureDependsOn);DisableCodesignInSimulator</CodesignConfigureDependsOn>
</PropertyGroup>
<Target Name="DisableCodesignInSimulator" Condition="'$(SdkIsSimulator)' == 'true'">
<PropertyGroup>
<EnableCodeSigning>false</EnableCodeSigning>
</PropertyGroup>
</Target>
CodesignDependsOn
Det här är en tilläggspunkt för bygget: en utvecklare kan lägga till alla mål i den här egenskapen för att köra dessa mål innan apppaketet signeras.
Exempel:
<PropertyGroup>
<CodesignDependsOn>$(CodesignDependsOn);DoThisBeforeCodesign</CodesignDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCodesign">
<Exec Command="echo This is executed right before the app is signed." />
</Target>
Codesigneringsbehörigheter
Sökvägen till rättighetsfilen som anger de rättigheter som appen kräver.
Vanligtvis "Entitlements.plist".
Vi ställer automatiskt in detta på "Entitlements.plist" om det finns en sådan fil i projektrotkatalogen.
Detta kan förhindras genom att ange egenskapen EnableDefaultCodesignEntitlements till false.
"CodesignExtraArgs"
Extra argument som skickas till codesign-verktyget när du signerar apppaketet.
CodesignKey
Anger den kodsigneringsnyckel som ska användas när apppaketet signeras.
CodesignKeychain
Nyckelringen som ska användas under kodsigneringen.
Kodsigneringsnyckel
Anger den kodsigneringsnyckel som ska användas när apppaketet signeras.
Gäller endast för macOS- och Mac Catalyst-appar, men vi rekommenderar att du använder egenskapen CodesignKey i stället (som fungerar på alla plattformar).
CodesignProvision
Anger den försörjningsprofil som ska användas när apppaketet ska signeras.
CodesignResourceRules
Sökvägen till ResourceRules.plist för att kopiera till apppaketet.
CodesignRequireProvisioningProfile
Anger om en etableringsprofil krävs vid signering av apppaketet.
Som standard kräver vi en provisioneringsprofil om:
- macOS, Mac Catalyst: en etableringsprofil har angetts (med egenskapen CodesignProvision ).
- iOS, tvOS: bygga för en enhet, eller så har en rättighetsfil specificerats (med egenskapen CodesignEntitlements).
Om du anger den här egenskapen till true eller false åsidosätter du standardlogik.
CompressBindingResourcePackage
De interna referenserna i ett bindningsprojekt kopieras till utdatakatalogen under byggprocessen, bredvid bindningssammansättningen (till något som vi kallar ett "bindningsresurspaket").
Dessa interna referenser kan antingen lagras komprimerade i en zip-fil (med namnet $(AssemblyName).resources.zip, eller as-is, i en katalog med namnet $(AssemblyName).resources.
Egenskapen CompressBindingResourcePackage anger om du vill skapa en zip-fil eller en katalog.
Möjliga värden är:
-
auto: skapa en zip-fil om en intern referens innehåller symlinks (vilket är typiskt för macOS och Mac Catalyst, men sällsynt på iOS och tvOS). -
true: skapa en zip-fil -
false: skapa en katalog
Standardvärdet är auto.
Detta gäller även för hur interna referenser lagras i NuGets.
Anmärkning
I vissa fall kan det vara fördelaktigt att framtvinga en zip-fil även på iOS, särskilt när det finns ett ramverk med filer som har långa namn, eftersom zip-filen ibland kan kringgå MAX_PATH problem i Windows.
SkapaAppBundleBeroendenPå
Det här är en tilläggspunkt för bygget: en utvecklare kan lägga till alla mål i den här egenskapen för att köra dessa mål när apppaketet skapas.
Exempel:
<PropertyGroup>
<CreateAppBundleDependsOn>$(CreateAppBundleDependsOn);DoThisBeforeCreatingAppBundle</CreateAppBundleDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingAppBundle">
<Exec Command="echo This is executed before the app bundle is created." />
</Target>
CreateIpaDependsOn
Det här är en tilläggspunkt för byggprocessen: en utvecklare kan lägga till alla mål i den här egenskapen för att köra dessa mål när de skapar en IPA.
Gäller för alla plattformar som skapar IPA-arkiv (för närvarande iOS och tvOS).
Exempel:
<PropertyGroup>
<CreateIpaDependsOn>$(CreateIpaDependsOn);DoThisBeforeCreatingIPA</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingIPA">
<Exec Command="echo This is executed before the IPA is created." />
</Target>
SkapaPaket
Om ett paket (.pkg) ska skapas för apppaketet i slutet av versionen.
Gäller endast för macOS- och Mac Catalyst-projekt.
Se BuildIpa för iOS- och tvOS-projekt.
DeviceSpecificBuild
Om bygget ska vara specifikt för den valda enheten.
Gäller för alla plattformar som stöder enhetsspecifika versioner (för närvarande iOS och tvOS).
DeviceSpecificIntermediateOutputPath
Den mellanliggande filväg som ska användas när enhetsspecifika byggen är aktiverade.
Gäller för alla plattformar som stöder enhetsspecifika versioner (för närvarande iOS och tvOS).
DeviceSpecificOutputPath
Den sökväg för output som ska användas när enhetsspecifika versioner är aktiverade.
Gäller för alla plattformar som stöder enhetsspecifika versioner (för närvarande iOS och tvOS).
DiagnostiskAdress
IP-adressen där dotnet-dsrouter körs. Detta är typiellt 127.0.0.1 vid profilering på simulatorn och IP-adressen för datorn där dotnet-dsrouter vid profilering på en enhet.
Det här är IP-adresskomponenten i DiagnosticConfiguration.
Ställer implicit in EnableDiagnostics till true.
Standardinställningen är 127.0.0.1.
Diagnostisk konfiguration
Ett värde som tillhandahålls av dotnet-dsrouter till DOTNET_DiagnosticPorts exempel:
127.0.0.1:9000,suspend,connect127.0.0.1:9000,nosuspend,connect
Observera att tecknet , måste undgå med %2c om det används i kommandoraden till dotnet build.
dotnet build -c Release -p:DiagnosticConfiguration=127.0.0.1:9000%2csuspend%2cconnect
Detta ställer automatiskt in DOTNET_DiagnosticPorts miljövariabeln som paketeras i programmet, så att miljövariabeln anges när appen startas.
Ställer in automatiskt EnableDiagnostics till true.
Standardbeteendet är att beräkna det här värdet från de andra diagnostikegenskaperna (DiagnosticAddress, DiagnosticPort, DiagnosticListenMode och DiagnosticSuspend).
Om det anges ignoreras någon av de andra diagnostikegenskaperna.
DiagnosticListenMode
Ett värde som tillhandahålls av dotnet-dsrouter till exempel connect eller listen, komponenten för lyssningsläge i DiagnosticConfiguration.
Sätter implicit EnableDiagnostics till true.
Standardinställningen är listen.
DiagnosticPort
Ett värde som tillhandahålls av dotnet-dsrouter, såsom portkomponenten i DiagnosticConfiguration.
Ställer implicit in EnableDiagnostics till true.
Standardinställningen är 9000.
DiagnosticSuspend
Ett värde som anger startbeteendet när du profilerar ett program.
Ställ in på för att true pausa appen vid start (väntar på att diagnostikservern ska ansluta till appen) eller false starta appen som vanligt (och ansluta diagnostikservern till appen senare).
Detta motsvarar värdet suspend/nosuspend i DiagnosticConfiguration.
Ställs in implicit EnableDiagnostics till true.
Standardinställningen är false.
DittoPath
Den fullständiga sökvägen till den ditto körbara filen.
Standardbeteendet är att använda /usr/bin/ditto.
EmbedOnDemandResources
Om resurser på begäran ska bäddas in i apppaketet.
Standardvärde: "true"
EnableCodeSigning
Om kodsignering är aktiverat.
Kodsignering är aktiverat som standard för alla plattformar. detta kan åsidosättas med den här egenskapen.
EnableDefaultCodesignEntitlements
Aktivera Resurser på Begäran
Om resurser på begäran är aktiverade.
Standard: false för macOS, sant för alla andra plattformar.
Aktivera PaketSignering
Om .pkg-filen som skapades (om CreatePackage var aktiverat) ska signeras.
Gäller endast för macOS och Mac Catalyst.
AktiveraDiagnostik
Aktivera komponenter som krävs för att diagnostik (till exempel profilering) ska fungera.
Det är aktiverat som standard för felsökningsversioner (när MtouchDebug eller MmpDebug är aktiverat), men måste aktiveras manuellt innan versionsversioner profileras:
<PropertyGroup>
<EnableDiagnostics>true</EnableDiagnostics>
</PropertyGroup>
Detta ökar appstorleken något.
Gäller endast vid användning av Mono-körning (CoreCLR stöder alltid diagnostik, medan NativeAOT aldrig gör det).
EnableSGenConc
Aktiverar samtidigt läge för SGen-skräpinsamlaren.
Gäller endast för iOS, tvOS och Mac Catalyst (när de inte använder NativeAOT).
GenereraApplikationsmanifest
Om ett programmanifest (Info.plist) ska genereras.
Standardvärde: "true"
GenereradeKällorMapp
Där den genererade källan från generatorn sparas.
InkluderaAllaAppIkoner
IncludeAllAppIcons Ange egenskapen till true för att automatiskt inkludera alla appikoner från alla tillgångskataloger i appen.
Exempel:
<PropertyGroup>
<IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>
Se även:
- Objektgruppen AlternateAppIcon.
- Egenskapen AppIcon.
Minsta iOS-version
Anger den lägsta iOS-version som appen kan köras på.
Gäller för iOS; om du anger det här värdet anges SupportedOSPlatformVersion för iOS-projekt (endast).
IPhoneResourcePrefix
Katalogen där resurser lagras (det här prefixet tas bort när resurser kopieras till apppaketet).
Gäller för projekt för iOS, tvOS och Mac Catalyst.
Överväg att använda den enhetliga egenskapen AppBundleResourcePrefix i stället.
Se även MonoMacResourcePrefix och XamMacResourcePrefix.
Ipa inkluderar konstverk
Om konstverk ska ingå i IPA.
Gäller endast för iOS- och tvOS-projekt.
IpaPackageName
Anger namnet på den resulterande .ipa-filen (utan sökvägen) när du skapar ett IPA-paket (se BuildIpa). IpaPackagePath åsidosätter det här värdet.
Gäller endast för iOS- och tvOS-projekt.
IpaPackageDir
Anger katalogen för den resulterande .ipa-filen när du skapar ett IPA-paket (se BuildIpa). IpaPackagePath åsidosätter det här värdet.
Gäller endast för iOS- och tvOS-projekt.
IpaPackagePath
Anger sökvägen till den resulterande .ipa-filen när du skapar ett IPA-paket (se BuildIpa).
Gäller endast för iOS- och tvOS-projekt.
IsAppExtension
Om ett projekt är ett apptillägg.
IsBindingProject
Om ett projekt är ett bindningsprojekt.
IsXPCService
Om ett macOS-tillägg är en xpc-tjänst.
Gäller endast för macOS-projekt.
LinkMode
Anger länkläget för projektet (Noneeller SdkOnlyFull).
Gäller för macOS-projekt, men den här egenskapen är inaktuell använder du TrimMode i stället.
Se även MtouchLink.
Länka med Swift-systembiblioteken
Om värdet är inställt på true, anger bygget den inhemska länkaren var Swift-systembiblioteken ska hittas.
Detta är användbart när ett inhemskt bibliotek använder Swift på något sätt, i vilket fall den inhemska länkaren behöver veta var Swifts systembibliotek finns.
För närvarande innebär det att dessa argument skickas till den inbyggda länkaren.
- -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
Den exakta uppsättningen argument kan ändras i framtiden.
MacCatalystMinimiversion
Anger den lägsta Mac Catalyst-version (iOS) som appen kan köras på.
Gäller för Mac Catalyst; om du anger det här värdet anges SupportedOSPlatformVersion för Mac Catalyst-projekt (endast).
MaciOSPrepareForBuildDependsOn
En semikolonavgränsad egenskap som kan användas för att utöka byggprocessen. MSBuild-mål som läggs till i den här egenskapen körs tidigt i bygget för både program- och biblioteksprojekttyper. Den här egenskapen är standardmässigt tom.
Exempel:
<PropertyGroup>
<MaciOSPrepareForBuildDependsOn>$(MaciOSPrepareForBuildDependsOn);MyCustomTarget</MaciOSPrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Den här egenskapen introducerades i .NET 9.
macOSMinimiversion
Anger den lägsta macOS-version som appen kan köras på.
Gäller för macOS; om du anger det här värdet anges SupportedOSPlatformVersion för macOS-projekt (endast).
MacOSXSdkVersion
Den macOS SDK-versionen som ska användas för kompileringsprocessen.
Standard: identifieras automatiskt enligt standardversionen som levereras med den valda Xcode.
Se även MtouchSdkVersion.
HanteraAdminExceptionLäge
Välj hur hanterade undantag ska hanteras när du stöter på en intern ram när stacken varvar ned medan det hanterade undantaget bearbetas.
Giltiga värden:
-
default: För närvarande ärthrowobjectivecexceptiondetta. -
unwindnativecode: Detta är inte tillgängligt när du använder CoreCLR runtime-miljön. -
throwobjectivecexception: Fånga den hanterade exceptionen och konvertera den till en Objective-C-exception. -
abort: Avbryt processen. -
disable: Inaktivera avlyssning av hanterade undantag. För MonoVM är detta motsvarandeunwindnativecodeoch för CoreCLR är detta motsvarandeabort.
Mer information finns i Undantagshantering och Läge för hantering av ObjectiveC-undantag.
MarshalObjectiveCExceptionMode
Välj hur Objective-C undantag ska hanteras när du stöter på en hanterad inramning under stackavveckling medan Objective-C undantag bearbetas.
Giltiga värden:
-
default: För närvarande ärthrowmanagedexceptiondetta. -
unwindmanagedcode: Detta är inte tillgängligt när du använder CoreCLR runtime-miljön. -
throwmanagedexception: Fånga undantaget Objective-C och konvertera det till ett hanterat undantag. -
abort: Avbryt processen. -
disable: Inaktivera att övervaka vid alla Objective-C undantaget.
Mer information finns i Undantagsöverföring och MarshalManagedExceptionMode.
MdimportPath
Den fullständiga sökvägen till verktyget mdimport.
Standardbeteendet är att använda xcrun mdimport.
MetalLibPath
Den fullständiga sökvägen till metallib-verktyget (Metal Linker).
Standardbeteendet är att använda xcrun metallib.
MetalPath
Den fullständiga sökvägen till Metal-kompilatorn.
Standardbeteendet är att använda xcrun metal.
MmpDebug
Aktiverar felsökningsläge för att skapa apppaket.
Gäller endast för macOS-projekt.
Se även MtouchDebug.
MonoBundlingExtraArgs
Ytterligare argument som anger hur du skapar apppaketet.
Gäller endast för macOS-projekt.
Den här egenskapen är inaktuell, använd AppBundleExtraOptions i stället.
MonoMacResourcePrefix
Katalogen där resurser lagras (det här prefixet tas bort när resurser kopieras till apppaketet).
Gäller endast för macOS-projekt.
Överväg att använda den enhetliga egenskapen AppBundleResourcePrefix i stället.
Se även IPhoneResourcePrefix och XamMacResourcePrefix.
MonoAnvändKomprimeradGränssnittsBitmap
Detta instruerar Mono-körningen att använda en komprimerad version av gränssnittsbitmappar (gränssnittsbitmappar används för att avgöra om en viss typ implementerar ett visst gränssnitt).
Dessa bitmappar kan använda en betydande mängd minne vid körning, särskilt för appar som har en betydande mängd gränssnitt.
Den här inställningen är inaktiverad som standard, men den kan aktiveras så här, vilket minskar mängden minne som används vid körning:
<PropertyGroup>
<MonoUseCompressedInterfaceBitmap>true</MonoUseCompressedInterfaceBitmap>
</PropertyGroup>
Nackdelen är att typkontroller (obj is SomeInterface) blir långsammare.
Gäller endast när du använder Mono-miljön.
MtouchDebug
Aktiverar felsökningsläge för att skapa apppaket.
Gäller för projekt för iOS, tvOS och Mac Catalyst.
Se även MmpDebug.
MtouchEnableSGenConc
Aktiverar samtidigt läge för SGen-skräpinsamlaren.
Gäller endast för iOS, tvOS och Mac Catalyst när de inte använder NativeAOT.
Den här egenskapen är inaktuell, använd EnableSGenConc i stället.
MtouchExtraArgs
Ytterligare argument som anger hur du skapar apppaketet.
Gäller endast för projekt för iOS, tvOS och Mac Catalyst.
Den här egenskapen är inaktuell, använd AppBundleExtraOptions i stället.
MtouchInterpreter
Aktiverar tolken och tar eventuellt en kommaavgränsad lista över sammansättningar att tolka (om prefixet är ett minustecken kommer sammansättningen att aOT-kompileras i stället). "all" kan användas för att ange alla sammansättningar. Det här argumentet kan anges flera gånger.
Exempel:
<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>
En förkortning för MtouchInterpreter är att ange UseInterpreter=true, vilket motsvarar MtouchInterpreter=all.
Om både UseInterpreter och MtouchInterpreter är inställda, har MtouchInterpreter företräde.
Gäller för appar för iOS, tvOS och Mac Catalyst (när de inte använder NativeAOT).
Standardbeteendet är att inte aktivera tolken.
Anmärkning
MAUI ändrar standardinställningen genom att ange UseInterpreter=true för konfigurationen "Debug" .
MtouchLink
Anger länkläget för projektet (None, SdkOnly, Full).
Gäller för projekt för iOS, tvOS och Mac Catalyst, men den här egenskapen är inaktuell, använd TrimMode i stället.
Se även LinkMode.
MtouchSdkVersion
Den iOS- eller tvOS SDK-version som ska användas för versionen.
Standard: identifieras automatiskt enligt standardversionen som levereras med den valda Xcode.
Se även MacOSXSdkVersion.
MtouchUseLlvm
En boolesk egenskap som anger om AOT-kompilering ska göras med hjälp av LLVM.
Gäller för projekt för iOS, tvOS och Mac Catalyst.
Standardvärde:
- I iOS och tvOS: aktiverat för releasebyggen (där
Configuration="Release"). - På Mac Catalyst: aktiveras aldrig som standard.
NoBindingEmbedding
En boolesk egenskap som anger om interna bibliotek i bindningsprojekt ska bäddas in i den hanterade sammansättningen eller placeras i en .resources katalog bredvid den hanterade sammansättningen.
Standardvärdet är true (vilket innebär att interna bibliotek inte bäddas in i den hanterade sammansättningen).
Anmärkning
Xcframeworks fungerar inte korrekt om de är inbäddade i den hanterade sammansättningen (om den här egenskapen inte true är).
NoDSymUtil
En boolesk egenskap som anger om .dSYM-generering ska inaktiveras.
Standardvärde:
-
trueför iOS och tvOS när du bygger för simulatorn. -
trueför macOS och Mac Catalyst om du inte skapar ett arkiv (ArchiveOnBuild=true)
Det innebär att .dSYM-arkivet genereras i följande fall (som standard):
- På iOS och tvOS när du bygger för enheten.
- På macOS och Mac Catalyst när du skapar ett arkiv (
ArchiveOnBuild=true).
NoSymbolStrip
En boolesk egenskap som anger om felsökningssymboler tas bort från appen vid bygget.
Standardbeteendet är att behålla felsökningssymboler för:
-
Debugversioner för skrivbordsplattformar. - Simulatorversioner för mobila plattformar.
Exempel för att behålla felsökningssymboler:
<PropertyGroup>
<NoSymbolStrip>true</NoSymbolStrip>
</PropertyGroup>
OnDemandResourcesInitialInstallTags
En strängegenskap som anger de första installationstaggar för resurser på begäran.
OnDemandResourcesPrefetchOrder
En strängegenskap som anger förhämtningordningen för resurser på begäran.
OnDemandResourcesUrl
En strängegenskap som anger resurs-URL:en för resurser på begäran.
Optimera PNG-filer
En boolesk egenskap som anger om png-bilder ska optimeras.
Optimering av PNG-bilder beror på
Det här är en tilläggspunkt för bygget: en utvecklare kan lägga till alla målobjekt i den här egenskapen för att köra dessa målobjekt innan några png-bilder optimeras.
Exempel:
<PropertyGroup>
<OptimizePngImagesDependsOn>$(OptimizePngImagesDependsOn);MyCustomTarget</OptimizePngImagesDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
OptimeraEgenskapslistor
En boolesk egenskap som anger om egenskapslistor (plists) ska optimeras.
OptimeraEgenskapslistorBeroendeAv
Det här är en utökningspunkt för bygget: en utvecklare kan lägga till valfria mål i de här egenskapsvärdena för att utföra dem innan några egenskapslistor (plists) optimeras.
Exempel:
<PropertyGroup>
<OptimizePropertyListsDependsOn>$(OptimizePropertyListsDependsOn);MyCustomTarget</OptimizePropertyListsDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
PaketSigneringsNyckel
Anger kodsigneringsnyckeln för att signera paketet när du skapar .pkg för ett macOS- och Mac Catalyst-projekt.
Gäller endast för macOS- och Mac Catalyst-appar.
PackagingExtraArgs
Anger eventuella extra argument som ska skickas till verktyget "productbuild" när du skapar .pkg för ett macOS- och Mac Catalyst-projekt.
Gäller endast för macOS- och Mac Catalyst-appar.
PkgPackagePath
Anger sökvägen till den resulterande .pkg-filen när du skapar ett paket (se CreatePackage).
Gäller endast för macOS- och Mac Catalyst-appar.
PlutilPath
Den fullständiga sökvägen till kommandoradsverktyget plutil.
Standardbeteendet är att använda xcrun plutil.
PngCrushPath
Den fullständiga sökvägen till kommandoradsverktyget pngcrush.
Standardbeteendet är att använda xcrun pngcrush.
ProcessEnums
En boolesk egenskap som anger om uppräkningar ska bearbetas som en API-definition i bindningsprojekt.
ProductBuildPath
Den fullständiga sökvägen till verktyget productbuild.
Standardbeteendet är att använda xcrun productbuild.
Produktdefinition
Den produktdefinitionsmall (.plist) som ska användas när du skapar produktdefinitionen för att skicka till produktverktyget när du skapar paket (.pkg).
Gäller endast för macOS- och Mac Catalyst-appar.
ReferensInhemskSymbol
Objektgruppen ReferenceNativeSymbol kan användas för att ange hur vi ska hantera en viss intern symbol: antingen ignorera den eller be den interna länkaren att behålla den (genom att skicka symbolen som -u ... eller i en symbolfil till den interna länkaren).
Det finns två typer av metadata som stöds:
-
SymbolType: antingenObjectiveCClass,FunctionellerField. Används för att beräkna det fullständiga interna namnet på en symbol (till exempel ärMyClassden interna symbolen för klassen_OBJC_CLASS_$_MyClassObjective-C , medan för en funktionMyFunctionär det bara_MyFunction. -
SymbolMode: antingenIgnoreeller inte inställt.Ignoreinnebär att inte skicka den angivna symbolen till den inbyggda länkaren; standardinställningen är att göra det.
SymbolType krävs, medan SymbolMode inte gör det.
Exempelsymbol att behålla:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" />
</ItemGroup>
Exempelsymbol att ignorera:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" SymbolMode="Ignore" />
</ItemGroup>
KrävLänkMedAttributFörObjectiveCKlassSökning
Vi söker automatiskt igenom alla bibliotek efter hanterade klasser som mappar till befintliga Objective-C klasser och skapar sedan en intern referens vid byggtiden för dessa Objective-C klasser.
På så sätt tar den inbyggda länkaren inte bort dessa Objective-C klasser och tror att de inte används.
Detta kan dock orsaka problem om en hanterad klass refererar till en Objective-C klass som inte finns. Rätt korrigering för detta är att ta bort sådana hanterade klasser från bygget, men det kan vara besvärligt, särskilt om den hanterade klassen kommer från en binär referens (till exempel NuGet).
I dessa fall är det möjligt att ange egenskapen RequireLinkWithAttributeForObjectiveCClassSearch till true så att vi endast genomsöker bibliotek med [LinkWith] attributet för Objective-C klasser:
<PropertyGroup>
<RequireLinkWithAttributeForObjectiveCClassSearch>true</RequireLinkWithAttributeForObjectiveCClassSearch>
</PropertyGroup>
SdkIsSimulator
Den här egenskapen är en skrivskyddad egenskap (att ändra den har ingen effekt) som anger om vi bygger för en simulator eller inte.
Den anges först efter att importer och egenskaper har utvärderats. Det innebär att egenskapen inte har angetts när egenskaperna i projektfilen utvärderas, så detta fungerar inte :
<PropertyGroup>
<EnableCodeSigning Condition="'$(SdkIsSimulator)' == 'true'">false</EnableCodeSigning>
</PropertyGroup>
Men något av följande fungerar:
<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>
Obs! Den här egenskapen kommer alltid att finnas false på macOS och Mac Catalyst.
Hoppa över statisk biblioteksvalidering
Snabb omstart stöder inte länkning med statiska bibliotek, så som standard visas ett fel om projektet försöker länka till statiska bibliotek när du använder snabb omstart.
I vissa fall kan det dock vara användbart att ignorera sådana fel (till exempel om du testar en kodsökväg i appen som inte kräver det statiska biblioteket i fråga), så det är möjligt att ignorera dem.
Giltiga värden är:
- "true", "disable": Inaktivera valideringen helt.
- "false", "error", tom sträng: Aktivera valideringen (detta är standardinställningen)
- "warn": Verifiera, men visa varningar i stället för fel.
Exempel:
<PropertyGroup>
<SkipStaticLibraryValidation>warn</SkipStaticLibraryValidation>
</PropertyGroup>
Detta visar varningar i stället för fel om projektet försöker länka till ett statiskt bibliotek.
StripPath
Den fullständiga sökvägen till kommandoradsverktyget strip.
Standardbeteendet är att använda xcrun strip.
Stöd förOSPlatformVersion
Anger den lägsta operativsystemversion som appen kan köras på.
Du kan också använda en plattformsspecifik egenskap:
TrimMode
Anger trimningskornigheten.
De giltiga alternativen är:
-
full: Trimma varje komponent. -
partial: Trimma sammansättningar som har valt att delta i trimning. -
copy: Trimma inga sammansättningar.
Mer information om egenskapen finns i TrimMode.
Anmärkning
Av tekniska skäl måste trimmern köras för alla projekt för iOS, tvOS, macOS och Mac Catalyst, även om inga sammansättningar ska trimmas. Därför är det inte giltigt att inaktivera trimning genom att ange PublishTrimmed – för att inaktivera trimning ska du istället använda false (ett byggfel kommer att genereras om TrimMode=copy anges till PublishTrimmed).
Egenskapen TrimMode motsvarar de befintliga egenskaperna MtouchLink (för iOS, tvOS och Mac Catalyst) och LinkMode (för macOS), men de giltiga egenskapsvärdena skiljer sig (även om semantiken är densamma):
| MtouchLink/LinkMode | TrimMode |
|---|---|
| Fullständig | fullständig |
| SdkOnly | partiell |
| Ingen | kopia |
Egenskaperna MtouchLink och LinkMode kommer att vara inaktuella framöver, vänligen använd TrimMode i stället.
Standardinställningen för trimning beror på flera faktorer och kan också ändras i framtiden.
De aktuella standardvärdena (från och med .NET 9) är:
- iOS och iOS:
partialnär du bygger för enheten,copynär du bygger för simulatorn. - macOS: alltid
copy. - Mac Catalyst:
partialnär du bygger för"Release"-konfigurationen, annarscopy.
Undantag:
- Standardvärdet är alltid
fullnär du skapar med NativeAOT. - MAUI ändrar standardvärdet till
copynär du skapar för konfigurationenDebugoch tolken aktiveras med UseInterpreter (som MAUI också aktiverar som standard när du använder konfigurationen"Debug").
Anmärkning
Standardinställningen för trimning kan ändras i framtiden.
tvOSMinimiversion
Anger den lägsta tvOS-version som appen kan köras på.
Gäller för tvOS; om du anger det här värdet anges SupportedOSPlatformVersion för tvOS-projekt (endast).
UseHardenedRuntime
En boolesk egenskap som anger om en säker runtime-miljö är aktiverad.
Gäller för macOS- och Mac Catalyst-projekt.
UseInterpreter
Aktiverar tolken (för alla sammansättningar).
Detta motsvarar inställningen MtouchInterpreter=all.
Gäller för appar för iOS, tvOS och Mac Catalyst (när de inte använder NativeAOT).
Standardbeteendet är att inte aktivera tolken.
Anmärkning
MAUI ändrar standardinställningen genom att ange UseInterpreter=true för konfigurationen "Debug" .
Mer information finns i MtouchInterpreter .
UseNativeHttpHandler
Om den inbyggda HTTP-hanteraren ska vara http-standardhanteraren eller inte.
Standard: sant för alla plattformar utom macOS.
Verifiera Rättigheter
Välj om appens begärda rättigheter ska valideras.
Giltiga värden för den här egenskapen:
-
disable: Valideringen är inaktiverad. -
warn: Eventuella valideringsfel visas som varningar. -
error: Eventuella valideringsfel visas som fel. Det här är standardinställningen.
Valideringsprocessen kanske inte validerar alla förmåner och det finns ingen garanti för att den inte agerar överentusiastiskt.
Om verifieringen misslyckas för berättiganden som faktiskt fungerar kan du ange ett nytt problem.
ValidateXcodeVersion
Välj om den aktuella Xcode-versionen ska verifieras.
Standardvärdet är att verifiera; ställ in false för att inaktivera.
Anmärkning
Att använda en annan version än den rekommenderade versionen kommer sannolikt att skapa problem senare i byggprocessen.
XamMacResourcePrefix
Katalogen där resurser lagras (det här prefixet tas bort när resurser kopieras till apppaketet).
Gäller för macOS-projekt.
Överväg att använda den enhetliga egenskapen AppBundleResourcePrefix i stället.
Se även IPhoneResourcePrefix och MonoMacResourcePrefix.
ZipPath
Den fullständiga sökvägen till kommandoradsverktyget zip.
Standardbeteendet är att använda xcrun zip.