Skip to content

Project file properties

Rolf Bjarne Kvinge edited this page Aug 10, 2021 · 24 revisions

Properties and item groups in project files

See also: Project-file-properties-dotnet-migration

Properties

MtouchExtraArgs

Additional arguments to mtouch.

Applicable to iOS, tvOS, watchOS projects.

.NET: some arguments are still applicable, some are not.

MtouchArch

The architecture(s) to build for.

Applicable to iOS, tvOS, watchOS projects.

.NET: N/A, uses RuntimeIdentifier instead.

XamMacArch

The architecture(s) to build for.

Applicable to macOS projects.

.NET: N/A, uses RuntimeIdentifier instead.

HttpClientHandler and MtouchHttpClientHandler

Selects which HttpClientHandler will be the default.

  • MtouchHttpClientHandler: applicable to iOS, tvOS and watchOS projects.
  • HttpClientHandler: applicable to macOS projects.

Different platforms have different valid values:

  • iOS: "HttpClientHandler", "NSUrlSessionHandler" or "CFNetworkHandler"
  • tvOS: "HttpClientHandler" or "NSUrlSessionHandler"
  • watchOS: only "NSUrlSessionHandler"
  • macOS: "HttpClientHandler" or "NSUrlSessionHandler"

.NET: N/A, use UseNativeHttpHandler to select which HttpClientHandler implementation to use.

EnableSGenConc and MtouchEnableSGenConc

Enables the concurrent mode for the SGen garbage collector.

  • iOS, tvOS, watchOS: historically used MtouchEnableSGenConc, but it's recommended to use EnableSGenConc.
  • macOS: uses EnableSGenConc.

Applicable to all platforms.

Only applicable when using MonoVM (not when using CoreCLR).

.NET: the same

ArchiveOnBuild

If an Xcode archive should be created at the end of the build.

Applicable to all platforms.

.NET: the same.

EnableCodeSigning

If code signing is enabled.

Applicable only to macOS and Mac Catalyst apps (for other platforms we automatically determine if signing is required or not).

.NET: the same.

EnablePackageSigning

If the .pkg that was created (if CreatePackage was enabled) should be signed.

Applicable only to macOS and Mac Catalyst projects.

.NET: the same

BuildIpa

If a package (.ipa) should be created for the app bundle at the end of the build.

Applicable only to iOS and tvOS projects.

.NET: the same

CreatePackage

If a package (.pkg) should be created for the app bundle at the end of the build.

Applicable only to macOS and Mac Catalyst projects.

.NET: the same

CodeSigningKey

Specifies the code signing key to use.

Applicable only to macOS and Mac Catalyst apps, but it's recommended to use CodesignKey instead.

.NET: use CodesignKey instead

CodesignKey

Specifies the code signing key to use.

Applicable to all platforms.

.NET: the same

CodesignProvision

Specifies the provisioning profile to use when signing the app bundle.

Applicable to all platforms.

.NET: the same.

CodesignEntitlements

The path to the entitlements file that specifies the entitlements the app requires.

Typically "Entitlements.plist"

Applicable to all platforms.

.NET: the same.

CodesignExtraArgs

Extra arguments passed to the 'codesign' tool

Applicable to all platforms.

.NET: the same.

PackageSigningKey

Specifies the code signing key to sign the package when creating .pkg for a macOS and Mac Catalyst project.

Applicable only to macOS and Mac Catalyst apps.

.NET: the same.

PackagingExtraArgs

Specifies any extra arguments to pass to the 'productbuild' tool when creating .pkg for a macOS and Mac Catalyst project.

Applicable only to macOS and Mac Catalyst apps.

.NET: the same.

ProductDefinition

Applicable only to macOS and Mac Catalyst apps.

.NET: the same.

IpaPackagePath

Specifies the path to the resulting .ipa file when creating an IPA package (see BuildIpa).

Applicable only to iOS and tvOS projects.

.NET: the same

IpaPackageName

Specifies the name of the resulting .ipa file (without the path) when creating an IPA package (see BuildIpa). IpaPackagePath will override this value.

Applicable only to iOS and tvOS projects.

.NET: the same

IpaPackageDir

Specifies the directory of the resulting .ipa file when creating an IPA package (see BuildIpa). IpaPackagePath will override this value.

Applicable only to iOS and tvOS projects.

.NET: the same

PkgPackagePath

Specifies the path to the resulting .pkg file when creating a package (see CreatePackage).

Applicable only to macOS and Mac Catalyst apps.

.NET: the same.

MtouchInterpreter

Enables the interpreter, and optionally takes a comma-separated list of assemblies to interpret (if prefixed with a minus sign, the assembly will be AOT-compiled instead). 'all' can be used to specify all assemblies. This argument can be specified multiple times.

Example:

  • all: interpret all the assemblies.
  • System: AOT-compile all assemblies, except System.dll, which will be interpreted.
  • all,-System.Core: interpret all assemblies, except System.Core.dll, which will be AOT-compiled.

Applicable to iOS, tvOS, watchOS and Mac Catalyst apps.

.NET: the same.

UseInterpreter

Enables the interpreter (for all assemblies).

This is equivalent to setting MtouchInterpreter=all.

Applicable to iOS, tvOS, watchOS and Mac Catalyst apps.

.NET: the same.

Item Groups

BundleResource

Files to be copied to the app bundle.

Applicable to all platforms.

.NET: the same

LinkDescription

Additional xml files to the managed linker.

Applicable to all platforms.

.NET: the same

PartialAppManifest

Additional partial app manifests that will be merged with the main app manifest (Info.plist).

Any values in the partial app manifests will override values in the main app manifest.

If the same value is specified in multiple partial app manifests, it's undetermined which one will be the one used.

Applicable to all platforms.

.NET: the same

Clone this wiki locally