生成 iOS、Mac Catalyst、macOS 和 tvOS 的属性

MSBuild 属性控制 目标的行为。 它们在项目文件中指定,例如,在 MSBuild PropertyGroup 中 MyApp.csproj

AltoolPath

altool 工具的完整路径。

默认行为是使用 xcrun altool

AppBundleDir

生成的应用捆绑包的位置。

应用包额外选项

用于创建应用捆绑包的高级附加参数。

有效的参数集取决于平台。

通常,除非由Microsoft工程师指定,否则不应使用这些资源。

App Icon(应用图标)

AppIcon 项组可用于为应用指定应用图标。

该属性的值必须指向资产目录中 .appiconset(适用于 iOS、macOS 和 Mac Catalyst)或 .brandassets(for tvOS)图像资源的文件名。

例:

<PropertyGroup>
    <!-- The value to put in here for the "Resources/MyImages.xcassets/MyAppIcon.appiconset" resource would be "MyAppIcon" -->
    <AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>

另请参阅:

应用显示版本

如果已设置,则指定应用清单中的 CFBundleShortVersionString 值(Info.plist)。

这是支持 .NET“单一项目”的属性。

有关详细信息,请参阅 OneDotNetSingleProject

ApplicationId

如果已设置,则指定应用清单中的 CFBundleIdentifier 值(Info.plist)。

这是支持 .NET“单一项目”的属性。

有关详细信息,请参阅 OneDotNetSingleProject

应用程序标题

如果已设置,则指定应用清单中的 CFBundleDisplayNameInfo.plist)。

这是支持 .NET“单一项目”的属性。

有关详细信息,请参阅 OneDotNetSingleProject

应用程序版本

如果已设置,则指定应用清单中的 CFBundleVersionInfo.plist)。

这是支持 .NET“单一项目”的属性。

有关详细信息,请参阅 OneDotNetSingleProject

ArchiveBasePath

用于远程构建的 Windows 存档存储位置。

默认值为:%LocalAppData%\Xamarin\iOS\Archives

仅适用于 iOS 项目(因为只有 iOS 项目可以从 Windows 远程生成)。

ArchiveOnBuild

如果在构建结束时是否应该创建 Xcode 存档。

BGenEmitDebugInformation

bgen 工具(绑定生成器)是否应发出调试信息。

true 属性设置为 Debug时,默认行为为 true

BGenExtraArgs

bgen 工具(绑定生成器)的任何额外参数。

BGenToolExe

bgen 可执行文件的名称(绑定项目用来生成绑定的工具)。

默认行为是使用工作负载随附的 bgen 工具。

BGenToolPath

bgenBGenToolExe)所在的目录。

默认行为是使用工作负载随附的 bgen 工具。

BuildIpa

如果需要在构建结束时为应用包创建一个包(.ipa)。

仅适用于 iOS 和 tvOS 项目。

请参阅适用于 macOS 和 Mac Catalyst 项目的 CreatePackage

BundleOriginalResources

该属性决定资源在嵌入库项目之前是否已被编译,或者是嵌入了未编译的原始版本。

从历史上看,资源在嵌入到库项目中之前已编译,但这需要提供 Xcode,这有一些缺点:

  • 它在 Windows 上减慢远程构建的速度。
  • 在 Windows 上本地生成时,它不起作用,除了 macOS 之外的任何其他平台上也不起作用。
  • 使用当前可用的 Xcode 汇编资源,但在将来使用相关库时,Xcode 的功能可能与当时可用的更新版本不一致。
  • 生成应用时,无法获取所有资源的全程序视图,这是检测冲突资源所必需的。

因此,我们添加了将原始资源嵌入库中的支持。 这将在 .NET 9 中主动加入,但从 .NET 10 开始默认退出。

在 .NET 9 中,此属性false的默认值为true,在 .NET 10+ 中也是如此。

注意

如果发现需要禁用此功能,请提出问题,因为将来可能会删除禁用此功能的选项。

协同设计分配

codesign_allocate 工具的路径。

默认情况下,此值是自动检测的。

CodesignDependsOn

这是构建的扩展点:开发人员可以将任何目标添加到这个属性中,以便在应用程序包签名之前执行这些目标。

例:

<PropertyGroup>
  <CodesignDependsOn>$(CodesignDependsOn);DoThisBeforeCodesign</CodesignDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCodesign">
  <Exec Command="echo This is executed right before the app is signed." />
</Target>

CodesignEntitlements

授权文件的路径,指定应用所需的权利。

通常为“Entitlements.plist”。

如果项目根目录中存在此类文件,我们会自动将此设置为“Entitlements.plist”。

通过将 EnableDefaultCodesignEntitlements 属性设置为 false,可以阻止此操作。

CodesignExtraArgs

签署应用捆绑包时传递给“codesign”工具的额外参数。

CodesignKey

指定在对应用捆绑包进行签名时要使用的代码签名密钥。

CodesignKeychain

代码签名期间要使用的密钥链。

代码签名密钥

指定在对应用捆绑包进行签名时要使用的代码签名密钥。

仅适用于 macOS 和 Mac Catalyst 应用,但建议改用 CodesignKey 属性(适用于所有平台)。

CodesignProvision

指定在对应用捆绑包进行签名时要使用的预配配置文件。

CodesignResourceRules

要复制到应用捆绑包的 ResourceRules.plist 的路径。

签名需要配置描述文件 (CodesignRequireProvisioningProfile)

指定在对应用捆绑包进行签名时是否需要预配配置文件。

默认情况下,如果满足以下要求,则需要预配配置文件:

  • macOS、Mac Catalyst:已指定预配配置文件(CodesignProvision 属性)。
  • iOS、tvOS:已为设备构建或指定了一个权利文件(具有 CodesignEntitlements 属性)。

将此属性设置为 truefalse 将替代默认逻辑。

创建应用包依赖于

这是生成的扩展点:开发人员可以将任何目标添加到此属性,以便在创建应用捆绑包时执行这些目标。

例:

<PropertyGroup>
  <CreateAppBundleDependsOn>$(CreateAppBundleDependsOn);DoThisBeforeCreatingAppBundle</CreateAppBundleDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingAppBundle">
  <Exec Command="echo This is executed before the app bundle is created." />
</Target>

CreateIpaDependsOn

这是构建的扩展点:开发人员可以将任何目标添加到此属性,以便在创建 IPA 时执行这些目标。

适用于所有能够生成 IPA 存档的平台(目前 iOS 和 tvOS)。

例:

<PropertyGroup>
  <CreateIpaDependsOn>$(CreateIpaDependsOn);DoThisBeforeCreatingIPA</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingIPA">
  <Exec Command="echo This is executed before the IPA is created." />
</Target>

CreatePackage

生成结束时是否应为应用程序包创建一个包(.pkg)。

仅适用于 macOS 和 Mac Catalyst 项目。

请参阅适用于 iOS 和 tvOS 项目的 BuildIpa

DeviceSpecificBuild

如果生成应特定于所选设备。

适用于支持设备专用版本的所有平台(目前为 iOS 和 tvOS)。

设备特定的中间输出路径

当启用设备专用生成时使用的中间输出路径。

适用于支持设备专用版本的所有平台(目前为 iOS 和 tvOS)。

设备特定输出路径

要使用的输出路径,当启用特定于设备的构建时。

适用于支持设备专用版本的所有平台(目前为 iOS 和 tvOS)。

DittoPath

ditto 可执行文件的完整路径。

默认行为是使用 /usr/bin/ditto

按需嵌入资源

如果应用包中应嵌入按需资源。

默认值:true

启用代码签名 (EnableCodeSigning)

如果启用了代码签名。

通常,构建过程将自动确定是否需要代码签名,此自动检测可以通过此属性来重写。

启用默认代码签名权限

请参阅 CodesignEntitlements

启用按需资源

如果启用了按需资源。

默认值:macOS 为 false,所有其他平台为 true。

启用包签名

如果创建的 .pkg 文件(在启用了 CreatePackage 的情况下)应该被签名。

仅适用于 macOS 和 Mac Catalyst。

EnableDiagnostics

启用诊断(如性能分析)正常运行所需的组件。

默认对调试生成启用(当启用 MtouchDebugMmpDebug 时),但在进行发布版本的分析之前需要手动启用它。

<PropertyGroup>
  <EnableDiagnostics>true</EnableDiagnostics>
</PropertyGroup>

这将稍微增加应用大小。

仅当使用 Mono 运行时时适用(CoreCLR 始终支持诊断,而 NativeAOT 则永远不会这样做)。

启用SGenConc

为 SGen 垃圾回收器启用并发模式。

仅适用于 iOS、tvOS 和 Mac Catalyst(不使用 NativeAOT 时)。

生成应用程序清单

是否应该生成应用程序清单(Info.plist)。

默认值:true

生成源目录

生成器生成的内容保存在哪里。

包含所有应用程序图标

IncludeAllAppIcons 属性设置为 true,以自动在应用中包括所有资产目录中的所有应用图标。

例:

<PropertyGroup>
    <IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>

另请参阅:

iOSMinimumVersion (最低版本)

指定应用可运行的最低 iOS 版本。

适用于 iOS;设置此值将为 iOS 项目设置 SupportedOSPlatformVersion(仅限)。

IPhoneResourcePrefix

存储资源的目录(将资源复制到应用捆绑包时,将删除此前缀)。

适用于 iOS、tvOS 和 Mac Catalyst 项目。

另请参阅 MonoMacResourcePrefixXamMacResourcePrefix

IpaIncludeArtwork

如果应将艺术品包含在 IPA 中。

仅适用于 iOS 和 tvOS 项目。

IpaPackageName

指定创建 IPA 包时生成的 .ipa 文件(没有路径)的名称(请参阅 BuildIpa)。 IpaPackagePath 将替代此值。

仅适用于 iOS 和 tvOS 项目。

IpaPackageDir

指定创建 IPA 包时生成的 .ipa 文件的目录(请参阅 BuildIpa)。 IpaPackagePath 将替代此值。

仅适用于 iOS 和 tvOS 项目。

IpaPackagePath

指定创建 IPA 包时生成的 .ipa 文件的路径(请参阅 BuildIpa)。

仅适用于 iOS 和 tvOS 项目。

IsAppExtension

如果项目是应用扩展,

IsBindingProject

如果项目是绑定项目,

IsXPCService

如果 macOS 扩展程序是 XPC 服务,

仅适用于 macOS 项目。

链接模式

指定项目的链接模式(NoneSdkOnlyFull)。

适用于 macOS 项目,但此属性已弃用,请改用 TrimMode

另请参阅 MtouchLink

LinkWithSwiftSystemLibraries

如果设置为 true,构建将告知原生链接器在何处查找 Swift 的系统库。

当本机库以某种方式使用 Swift 时,这非常有用,在这种情况下,本机链接器需要知道在何处查找 Swift 的系统库。

目前,这意味着这些参数将传递给本地链接器。

  • -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

将来具体的参数集可能会更动。

MacCatalyst最低版本

指定应用可运行的最低 Mac Catalyst (iOS) 版本。

适用于 Mac Catalyst:将此值设置为仅适用于 Mac Catalyst 项目的 SupportedOSPlatformVersion

MaciOS准备构建依赖项

用分号分隔的属性,可用于扩展生成过程。 添加到此属性的 MSBuild 目标将在构建中针对应用程序和库项目类型提前执行。 默认情况下,此属性为空。

例:

<PropertyGroup>
  <MaciOSPrepareForBuildDependsOn>$(MaciOSPrepareForBuildDependsOn);MyCustomTarget</MaciOSPrepareForBuildDependsOn>
</PropertyGroup>

<Target Name="MyCustomTarget" >
  <Message Text="Running target: 'MyCustomTarget'" Importance="high"  />
</Target>

此属性是在 .NET 9 中引入的。

macOS最低版本

指定应用可运行的最低 macOS 版本。

适用于 macOS;设置此值将为 macOS 项目设置 SupportedOSPlatformVersion(仅限)。

MacOSX SDK版本

要用于生成的 macOS SDK 版本。

系统默认:根据所选 Xcode 附带的默认版本自动进行检测。

另请参阅 MtouchSdkVersion

托管异常处理模式

选择在处理托管异常时,如何在堆栈展开期间遇到本机帧时处理托管异常。

有效值:

  • default:目前,这是 throwobjectivecexception
  • unwindnativecode:在使用 CoreCLR 运行时,该功能无法使用。
  • throwobjectivecexception:捕获托管异常,并将其转换为 Objective-C 异常。
  • abort:中止进程。
  • disable:禁用对任何托管异常的截获。 对于 MonoVM,这等效于 unwindnativecode;对于 CoreCLR,这等效于 abort

有关详细信息,请参阅 异常处理封送MarshalObjectiveCExceptionMode

MarshalObjectiveCExceptionMode

选择在处理 Objective-C 异常时在堆栈展开期间遇到托管帧时如何处理 Objective-C 异常。

有效值:

  • default:目前,这是 throwmanagedexception
  • unwindmanagedcode:在使用 CoreCLR 运行时,该功能无法使用。
  • throwmanagedexception:捕获 Objective-C 异常,并将其转换为托管异常。
  • abort:中止进程。
  • disable:禁用截获任何 Objective-C 异常。

有关详细信息,请参阅 异常封送处理MarshalManagedExceptionMode

MdimportPath

mdimport 工具的完整路径。

默认行为是使用 xcrun mdimport

MetalLibPath

metallib 工具(金属链接器)的完整路径。

默认行为是使用 xcrun metallib

MetalPath

金属编译器的完整路径。

默认行为是使用 xcrun metal

MmpDebug

启用用于创建应用捆绑包的调试模式。

仅适用于 macOS 项目。

另请参阅 MtouchDebug

MonoBundlingExtraArgs

指定如何创建应用捆绑包的其他参数。

仅适用于 macOS 项目。

此属性已弃用,请改用 AppBundleExtraOptions

MonoMacResourcePrefix

存储资源的目录(将资源复制到应用捆绑包时,将删除此前缀)。

仅适用于 macOS 项目。

另请参阅 IPhoneResourcePrefixXamMacResourcePrefix

MtouchDebug

启用用于创建应用捆绑包的调试模式。

适用于 iOS、tvOS 和 Mac Catalyst 项目。

另请参阅 MmpDebug

MtouchEnableSGenConc

为 SGen 垃圾回收器启用并发模式。

仅适用于 iOS、tvOS 和 Mac Catalyst,条件是没有使用 NativeAOT。

此属性已弃用,请改用 EnableSGenConc

MtouchExtraArgs

指定如何创建应用捆绑包的其他参数。

仅适用于 iOS、tvOS 和 Mac Catalyst 项目。

此属性已弃用,请改用 AppBundleExtraOptions

MtouchInterpreter

启用解释器,并选择性地采用逗号分隔的程序集列表进行解释(如果以减号为前缀,则程序集将改为进行 AOT 编译)。 “all”可用于指定所有程序集。 可以多次指定此参数。

例:

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

MtouchInterpreter 的简写是设置 UseInterpreter=true,相当于 MtouchInterpreter=all

如果同时设置了 UseInterpreterMtouchInterpreter,则 MtouchInterpreter 优先。

适用于 iOS、tvOS 和 Mac Catalyst 应用(不使用 NativeAOT 时)。

默认行为是不启用解释器。

注意

MAUI 将 UseInterpreter=true 配置中的默认设置更改为 "Debug"

指定项目的链接模式(NoneSdkOnlyFull)。

适用于 iOS、tvOS 和 Mac Catalyst 项目,但此属性已弃用,请改用 TrimMode

另请参阅 LinkMode

MtouchSdkVersion

要用于生成的 iOS 或 tvOS SDK 版本。

系统默认:根据所选 Xcode 附带的默认版本自动进行检测。

另请参阅 MacOSXSdkVersion

MtouchUseLlvm

一个布尔属性,指定是否应使用 LLVM 完成 AOT 编译。

适用于 iOS、tvOS 和 Mac Catalyst 项目。

违约:

  • 在 iOS 和 tvOS 上:为发布版本启用(其中 Configuration="Release")。
  • 在 Mac Catalyst 上:默认情况下从未启用过。

NoBindingEmbedding

一个布尔属性,指定绑定项目中的本机库应嵌入托管程序集中,还是放入托管程序集旁边的 .resources 目录中。

默认值为 true(这意味着本机库 不会 嵌入到托管汇编中)。

注意

如果此属性不是 true,嵌入在托管程序集中的 Xcframeworks 将无法正常工作。

NoDSymUtil

一个布尔属性,指定是否应禁用 .dSYM 生成。

违约:

  • true 在为模拟器开发时适用于 iOS 和 tvOS。
  • true 适用于 macOS 和 Mac Catalyst,除非是用来创建存档(ArchiveOnBuild=true

这意味着将在以下情况下生成 .dSYM 存档(默认情况下):

  • 在 iOS 和 tvOS 上为设备生成时。
  • 在 macOS 和 Mac Catalyst 上创建存档时(ArchiveOnBuild=true)。

NoSymbolStrip

一个布尔属性,用于指定在构建时是否从应用中删除调试符号。

默认行为是保留以下项的调试符号:

  • 适用于桌面平台的 Debug 生成。
  • 适用于移动平台的模拟器生成

保持调试符号的示例:

<PropertyGroup>
  <NoSymbolStrip>true</NoSymbolStrip>
</PropertyGroup>

随需资源初始安装标签

一个字符串属性,指定按需资源的初始安装标记。

OnDemandResourcesPrefetchOrder

一个字符串属性,指定按需资源的预提取顺序。

按需资源网址

一个字符串属性,用于指定按需资源的 URL。

OptimizePNG

一个布尔属性,指定是否应优化 png 图像。

优化Png图像依赖项

这是构建的扩展点:开发人员可以在优化任何 png 图像之前将任意目标添加到此属性,以执行这些目标。

例:

<PropertyGroup>
  <OptimizePngImagesDependsOn>$(OptimizePngImagesDependsOn);MyCustomTarget</OptimizePngImagesDependsOn>
</PropertyGroup>

<Target Name="MyCustomTarget" >
  <Message Text="Running target: 'MyCustomTarget'" Importance="high"  />
</Target>

优化属性列表

一个布尔属性,指定是否应优化属性列表(plists)。

优化属性列表取决于

这是生成过程的扩展点:开发人员可以在优化任何属性列表(plists)之前,将任意目标添加到此设置属性中,以便执行这些目标。

例:

<PropertyGroup>
  <OptimizePropertyListsDependsOn>$(OptimizePropertyListsDependsOn);MyCustomTarget</OptimizePropertyListsDependsOn>
</PropertyGroup>

<Target Name="MyCustomTarget" >
  <Message Text="Running target: 'MyCustomTarget'" Importance="high"  />
</Target>

包签名密钥

指定用于为 macOS 和 Mac Catalyst 项目创建 .pkg 时为包签名的代码签名密钥。

仅适用于 macOS 和 Mac Catalyst 应用。

PackagingExtraArgs

** 指定在为 macOS 和 Mac Catalyst 项目创建 .pkg 时,传递给 "productbuild" 工具的任何额外参数。

仅适用于 macOS 和 Mac Catalyst 应用。

PkgPackagePath

指定创建包时生成的.pkg文件的路径(请参阅 CreatePackage)。

仅适用于 macOS 和 Mac Catalyst 应用。

PlutilPath

plutil 命令行工具的完整路径。

默认行为是使用 xcrun plutil

PngCrushPath

pngcrush 命令行工具的完整路径。

默认行为是使用 xcrun pngcrush

ProcessEnums

一个布尔属性,指定是否应在绑定项目中将枚举作为 API 定义进行处理。

产品构建路径 (ProductBuildPath)

productbuild 工具的完整路径。

默认行为是使用 xcrun productbuild

产品定义

创建产品定义时要使用的产品定义模板(.plist),用于在创建包时传递给产品生成工具(.pkg)。

仅适用于 macOS 和 Mac Catalyst 应用。

ReferenceNativeSymbol (引用本机符号)

项组 ReferenceNativeSymbol 可用于指定如何处理给定的本机符号:忽略它或要求本机链接器保留它(通过将符号作为 -u ... 或符号文件中传递给本机链接器)。

支持两种类型的元数据:

  • SymbolTypeObjectiveCClassFunctionField。 用于计算符号的完整原生名称(例如,Objective-C 类 MyClass 的原生符号是 _OBJC_CLASS_$_MyClass,而对于函数 MyFunction,则是 _MyFunction)。
  • SymbolModeIgnore 或未设置。 Ignore 意味着不将给定符号传递给本机链接器,则默认为这样做。

SymbolType 是必需的,而 SymbolMode 则不需要。

要保留的示例符号:

<ItemGroup>
    <ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" />
</ItemGroup>

要忽略的示例符号:

<ItemGroup>
    <ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" SymbolMode="Ignore" />
</ItemGroup>

需要链接的 Objective-C 类搜索属性

我们将首先自动扫描所有映射到现有 Objective-C 类的托管类,在构建时为这些 Objective-C 类创建本机引用。

这样,本机链接器就不会删除这些 Objective-C 类,并认为它们未使用。

但是,如果托管类引用不存在的 Objective-C 类,则可能会导致问题。 正确的解决方法是从生成中删除此类托管类,但这可能是繁琐的,特别是如果托管类来自二进制引用(如 NuGet)。

在这些情况下,可以将属性 RequireLinkWithAttributeForObjectiveCClassSearch 设置为 true,以便仅扫描具有 Objective-C 类 [LinkWith] 属性的库:

<PropertyGroup>
  <RequireLinkWithAttributeForObjectiveCClassSearch>true</RequireLinkWithAttributeForObjectiveCClassSearch>
</PropertyGroup>

跳过静态库验证

热重启不支持与静态库链接,因此,如果项目在使用热重启时尝试链接到任何静态库,则默认情况下会显示错误。

但是,在某些情况下,忽略此类错误可能很有用(例如,如果在应用中测试不需要相关静态库的代码路径),因此可以忽略它们。

有效值为:

  • “true”、“disable”:完全禁用验证。
  • “false”、“error”、空字符串:启用验证(这是默认值)
  • “warn”:验证,但显示警告而不是错误。

例:

<PropertyGroup>
  <SkipStaticLibraryValidation>warn</SkipStaticLibraryValidation>
</PropertyGroup>

如果项目尝试链接到静态库,则会显示警告,而不是错误。

StripPath

strip 命令行工具的完整路径。

默认行为是使用 xcrun strip

支持的操作系统平台版本

指定应用可运行的最低 OS 版本。

也可以使用特定于平台的属性:

TrimMode

指定剪裁粒度。

有效选项包括:

  • full:剪裁每个组件。
  • partial:剪裁已选择剪裁的程序集。
  • copy:不剪裁任何程序集。

有关 属性的详细信息,请参阅 TrimMode

注意

出于技术原因,裁剪器必须在所有 iOS、tvOS、macOS 和 Mac Catalyst 项目中运行,即使没有要裁剪的程序集。 因此,通过将 PublishTrimmed 设置为 false 来禁用剪裁是无效的。若要禁用剪裁,请改为设置 TrimMode=copy(如果将 PublishTrimmed 设置为 false,将会引发生成错误)。

TrimMode 属性等效于现有的 MtouchLink(适用于 iOS、tvOS 和 Mac Catalyst),LinkMode(for macOS)属性,但有效属性值不同(即使语义相同):

MtouchLink/LinkMode TrimMode
满满的
SdkOnly 部分
没有 复制

今后,将弃用 MtouchLinkLinkMode 属性,请改用 TrimMode

默认剪裁模式取决于许多因素,将来也可能更改。

当前(从 .NET 9 起)默认值为:

  • iOS 和 iOS:为设备生成时 partial,在为模拟器生成时 copy
  • macOS:始终 copy
  • Mac Catalyst:为 partial 配置生成时 "Release",否则 copy

异常:

  • 使用 NativeAOT 进行生成时,默认值始终为 full
  • MAUI 使用 useInterpreter (MAUI 在使用 配置时默认启用 UseInterpreter)生成 配置时将默认值更改为

注意

默认剪裁模式将来可能会更改。

tvOS最低版本

指定应用可运行的最低 tvOS 版本。

适用于 tvOS;设置此值将为 tvOS 项目设置 SupportedOSPlatformVersion(仅限)。

使用强化运行时

一个布尔属性,指定是否启用了强化运行时。

适用于 macOS 和 Mac Catalyst 项目。

UseInterpreter

启用解释器(适用于所有程序集)。

这等效于设置 MtouchInterpreter=all

适用于 iOS、tvOS 和 Mac Catalyst 应用(不使用 NativeAOT 时)。

默认行为是不启用解释器。

注意

MAUI 将 UseInterpreter=true 配置中的默认设置更改为 "Debug"

有关详细信息,请参阅 MtouchInterpreter

UseNativeHttpHandler

本机 HTTP 处理器是否应为默认 HTTP 处理器。

默认值:除 macOS 之外的所有平台都为 true。

验证权利

选择是否需要验证应用请求的权限。

此属性的有效值:

  • disable:验证已禁用。
  • warn:任何验证失败都显示为警告。
  • error:任何验证失败都显示为错误。 这是默认值。

验证过程可能不验证每个权利,也不保证不会过度使用。

如果有关有效权限的验证失败,请提交一个新的问题报告。

ValidateXcodeVersion

选择是否应验证当前 Xcode 版本。

默认值是验证;设置为 false 禁用。

注意

使用与建议版本不同的版本可能会导致生成过程中的后续问题。

XamMacResourcePrefix

存储资源的目录(将资源复制到应用捆绑包时,将删除此前缀)。

适用于 macOS 项目。

另请参阅 IPhoneResourcePrefixMonoMacResourcePrefix

ZipPath

zip 命令行工具的完整路径。

默认行为是使用 xcrun zip