Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las propiedades de MSBuild controlan el comportamiento de los targets. Se especifican en el archivo de proyecto, por ejemplo MyApp.csproj, dentro de un PropertyGroup de MSBuild.
AltoolPath
Ruta de acceso completa de la herramienta altool
.
El comportamiento predeterminado es usar xcrun altool
.
AppBundleDir
Ubicación del conjunto de aplicaciones compilado.
AppBundleExtraOptions
Argumentos adicionales avanzados para la creación de conjuntos de aplicaciones.
El conjunto válido de argumentos depende de la plataforma.
Normalmente, estos no deben usarse a menos que lo especifique un ingeniero de Microsoft.
Icono de la Aplicación
El AppIcon
grupo de elementos se puede usar para especificar un icono de aplicación para la aplicación.
El valor de la propiedad debe apuntar al nombre de archivo de un recurso de imagen .appiconset
(para iOS, macOS y Mac Catalyst) o .brandassets
(para tvOS) dentro de un catálogo de activos.
Ejemplo:
<PropertyGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAppIcon.appiconset" resource would be "MyAppIcon" -->
<AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>
Consulte también:
- Grupo de elementos AlternateAppIcon .
- La propiedad IncludeAllAppIcons.
VersiónMostradaDeLaAplicación
Si se establece, especifica el valor CFBundleShortVersionString
en el manifiesto de la aplicación (Info.plist
).
Se trata de una propiedad que admite .NET "de un solo proyecto".
Consulte OneDotNetSingleProject para obtener más información.
ApplicationId
Si se establece, especifica el valor CFBundleIdentifier
en el manifiesto de la aplicación (Info.plist
).
Se trata de una propiedad que admite .NET "de un solo proyecto".
Consulte OneDotNetSingleProject para obtener más información.
Título de la Aplicación
Si se establece, especifica CFBundleDisplayName
en el manifiesto de la aplicación (Info.plist
).
Se trata de una propiedad que admite .NET "de un solo proyecto".
Consulte OneDotNetSingleProject para obtener más información.
Versión de la Aplicación
Si se establece, especifica el CFBundleVersion
en el manifiesto de la aplicación (Info.plist
).
Se trata de una propiedad que admite .NET "de un solo proyecto".
Consulte OneDotNetSingleProject para obtener más información.
ArchiveBasePath
Ubicación donde se almacenan los archivos en Windows para una compilación remota.
El valor predeterminado es: %LocalAppData%\Xamarin\iOS\Archives
Solo se aplica a proyectos de iOS (ya que solo los proyectos de iOS se pueden compilar de forma remota desde Windows).
ArchiveOnBuild
Si se debe crear un archivo Xcode al final de la compilación.
BGenEmitDebugInformation
Si la herramienta bgen
(el generador de enlaces) debe emitir información de depuración o no.
El comportamiento predeterminado es true
cuando Debug
la propiedad se establece en true
.
BGenExtraArgs
Cualquier argumento adicional para la herramienta bgen
(el generador de enlaces).
BGenToolExe
Nombre del bgen
archivo ejecutable (una herramienta que usan los proyectos de enlace para generar enlaces).
El comportamiento predeterminado es usar la bgen
herramienta que se incluye con nuestra carga de trabajo.
BGenToolPath
Directorio al lugar donde se encuentra bgen
(BGenToolExe).
El comportamiento predeterminado es usar la bgen
herramienta que se incluye con nuestra carga de trabajo.
BuildIpa
Si se debe crear un paquete (.ipa) para la agrupación de aplicaciones al final de la compilación.
Solo se aplica a proyectos de iOS y tvOS.
Consulte CreatePackage para proyectos macOS y Mac Catalyst.
BundleOriginalResources
Esta propiedad determina si los recursos se compilan antes de insertarse en proyectos de biblioteca o si la versión original (sin compilar) está incrustada.
Históricamente, los recursos se han compilado antes de insertarse en proyectos de biblioteca, pero esto requiere tener Xcode disponible, que tiene algunas desventajas:
- Ralentiza las compilaciones remotas en Windows.
- No funcionará al compilar localmente en Windows y tampoco en ninguna otra plataforma excepto macOS.
- Los recursos se compilan con el Xcode disponible actual, que puede no tener las mismas características que un Xcode potencialmente más reciente disponible cuando se consume la biblioteca en cuestión.
- Hace imposible tener una visión completa de todos los recursos del programa al desarrollar una aplicación, lo cual es necesario para detectar recursos en conflicto.
Por lo tanto, hemos añadido soporte para insertar los recursos originales en bibliotecas. Esto será opcional en .NET 9, pero será automático a partir de .NET 10.
Valor predeterminado de esta propiedad false
en .NET 9 y true
en .NET 10+.
Nota:
Presente un problema si encuentra que necesita deshabilitar esta característica, ya que es posible que la opción para deshabilitarla se quitará en el futuro.
CodesignAllocate
Ruta de acceso a la herramienta codesign_allocate
.
De forma predeterminada, este valor se detecta automáticamente.
CodesignDependsOn
Este es un punto de extensión para la compilación: un desarrollador puede agregar cualquier destino a esta propiedad para ejecutar esos destinos antes de que se firme la agrupación de aplicaciones.
Ejemplo:
<PropertyGroup>
<CodesignDependsOn>$(CodesignDependsOn);DoThisBeforeCodesign</CodesignDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCodesign">
<Exec Command="echo This is executed right before the app is signed." />
</Target>
CodesignEntitlements
Ruta de acceso al archivo de derechos que especifica los derechos que requiere la aplicación.
Suele ser "Entitlements.plist".
Lo estableceremos automáticamente en "Entitlements.plist" si existe dicho archivo en el directorio raíz del proyecto.
Esto se puede evitar estableciendo la propiedad EnableDefaultCodesignEntitlements en false
.
CodesignExtraArgs
Argumentos adicionales que se pasan a la herramienta "codesign" al firmar el paquete de aplicaciones.
CodesignKey
Especifica la clave de firma de código que se va a usar al firmar la agrupación de aplicaciones.
CodesignKeychain
Cadena de claves que se va a usar durante la firma de código.
Clave de Firma de Código (CodeSigningKey)
Especifica la clave de firma de código que se va a usar al firmar la agrupación de aplicaciones.
Solo se aplica a las aplicaciones macOS y Mac Catalyst, pero se recomienda usar la propiedad CodesignKey en su lugar (que funciona en todas las plataformas).
CodesignProvision
Especifica el perfil de aprovisionamiento que se va a usar al firmar la agrupación de aplicaciones.
CodesignResourceRules
Ruta de acceso a ResourceRules.plist para copiarla en el paquete de aplicaciones.
CodesignRequireProvisioningProfile
Especifica si se requiere un perfil de aprovisionamiento al firmar la agrupación de aplicaciones.
De forma predeterminada, se requiere un perfil de aprovisionamiento si:
- macOS, Mac Catalyst: se ha especificado un perfil de aprovisionamiento (con la propiedad CodesignProvision ).
- iOS, tvOS: se ha especificado la compilación para el dispositivo o un archivo de derechos (con la propiedad CodesignEntitlements).
Al establecer esta propiedad en true
o false
se invalidará la lógica predeterminada.
CreateAppBundleDependsOn
Este es un punto de extensión para la compilación: un desarrollador puede agregar destinos a esta propiedad para ejecutar esos destinos al crear la agrupación de aplicaciones.
Ejemplo:
<PropertyGroup>
<CreateAppBundleDependsOn>$(CreateAppBundleDependsOn);DoThisBeforeCreatingAppBundle</CreateAppBundleDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingAppBundle">
<Exec Command="echo This is executed before the app bundle is created." />
</Target>
CreateIpaDependsOn
Este es un punto de extensión para la compilación: un desarrollador puede agregar cualquier objetivo a esta propiedad para ejecutar esos objetivos al crear un IPA.
Aplicable a todas las plataformas que compilan archivos IPA (actualmente iOS y tvOS).
Ejemplo:
<PropertyGroup>
<CreateIpaDependsOn>$(CreateIpaDependsOn);DoThisBeforeCreatingIPA</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingIPA">
<Exec Command="echo This is executed before the IPA is created." />
</Target>
CreatePackage
Si se debe crear un paquete (.pkg) para la agrupación de aplicaciones al final de la compilación.
Solo se aplica a los proyectos macOS y Mac Catalyst.
Consulte BuildIpa para proyectos de iOS y tvOS.
DeviceSpecificBuild
Si la compilación debe ser específica del dispositivo seleccionado.
Aplicable a todas las plataformas que admiten compilaciones específicas del dispositivo (actualmente iOS y tvOS).
RutaDeSalidaIntermediaEspecíficaDelDispositivo
Ruta de acceso de salida intermedia que debe usarse cuando se habilitan compilaciones específicas del dispositivo.
Aplicable a todas las plataformas que admiten compilaciones específicas del dispositivo (actualmente iOS y tvOS).
RutaDeSalidaEspecíficaDelDispositivo
Ruta de acceso de salida que debe usarse cuando se habilitan compilaciones específicas del dispositivo.
Aplicable a todas las plataformas que admiten compilaciones específicas del dispositivo (actualmente iOS y tvOS).
DittoPath
Ruta completa de acceso al archivo ejecutable ditto
.
El comportamiento predeterminado es usar /usr/bin/ditto
.
EmbedOnDemandResources
Si los recursos a petición deben insertarse en el lote de aplicaciones.
Valor predeterminado: true
EnableCodeSigning
Si la firma de código está habilitada.
Normalmente, la compilación determinará automáticamente si se requiere la firma de código; esta detección automática se puede invalidar con esta propiedad.
EnableDefaultCodesignEntitlements
Consulta CodesignEntitlements.
EnableOnDemandResources
Si los recursos a petición están habilitados.
Valor predeterminado: false para macOS, true para todas las demás plataformas.
EnablePackageSigning
Si es preciso firmar el archivo .pkg que se creó (si se ha habilitado CreatePackage
).
Solo se aplica a macOS y Mac Catalyst.
HabilitarDiagnósticos
Habilite los componentes necesarios para que funcionen los diagnósticos (como la generación de perfiles).
Está habilitado de forma predeterminada para las compilaciones de depuración (cuando MtouchDebug o MmpDebug está habilitado), pero hay que habilitarlo manualmente antes de generar perfiles en las versiones de lanzamiento:
<PropertyGroup>
<EnableDiagnostics>true</EnableDiagnostics>
</PropertyGroup>
Esto aumentará ligeramente el tamaño de la aplicación.
Solo es aplicable cuando se usa el entorno de ejecución mono (CoreCLR siempre admite diagnósticos, mientras que NativeAOT nunca lo hace).
EnableSGenConc
Habilita el modo simultáneo para el recolector de basura SGen.
Solo se aplica a iOS, tvOS y Mac Catalyst (cuando no se usa NativeAOT).
GenerarManifiestoDeAplicación
Si se debe generar un manifiesto de aplicación (Info.plist
).
Valor predeterminado: true
GeneratedSourcesDir
Donde se guarda el origen generado por el generador.
IncluirTodosLosIconosDeAplicaciones
Establezca la IncludeAllAppIcons
propiedad en true para incluir automáticamente todos los iconos de aplicación de todos los catálogos de recursos de la aplicación.
Ejemplo:
<PropertyGroup>
<IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>
Consulte también:
- Grupo de elementos AlternateAppIcon .
- La propiedad AppIcon.
iOSMinimumVersion
Especifica la versión mínima de iOS en la que se puede ejecutar la aplicación.
Aplicable a iOS; establecer este valor establecerá SupportedOSPlatformVersion para proyectos de iOS (solo).
IPhoneResourcePrefix
El directorio en el que se almacenan los recursos (este prefijo se quitará al copiar recursos en el lote de aplicaciones).
Aplicable a proyectos iOS, tvOS y Mac Catalyst.
Consulte también MonoMacResourcePrefix y XamMacResourcePrefix.
IpaIncludeArtwork
Si las ilustraciones deben incluirse en el IPA.
Solo se aplica a proyectos de iOS y tvOS.
IpaPackageName
Especifica el nombre del archivo .ipa resultante (sin la ruta de acceso) al crear un paquete IPA (consulte BuildIpa). IpaPackagePath invalidará este valor.
Solo se aplica a proyectos de iOS y tvOS.
IpaPackageDir
Especifica el directorio del archivo .ipa resultante al crear un paquete IPA (vea BuildIpa). IpaPackagePath invalidará este valor.
Solo se aplica a proyectos de iOS y tvOS.
IpaPackagePath
Especifica la ruta de acceso al archivo .ipa resultante al crear un paquete IPA (consulte BuildIpa).
Solo se aplica a proyectos de iOS y tvOS.
IsAppExtension
Si un proyecto es una extensión de aplicación.
IsBindingProject
Si un proyecto es un proyecto vinculante.
IsXPCService
Si una extensión de macOS es un servicio xpc.
Solo se aplica a proyectos de macOS.
LinkMode
Especifica el modo de vínculo para el proyecto (None
o SdkOnly
Full
).
Aplicable a los proyectos de macOS, pero esta propiedad está en desuso, use TrimMode en su lugar.
Vea también MtouchLink.
VincularConBibliotecasDelSistemaSwift
Si se establece en true
, la compilación indicará al enlazador nativo dónde buscar las bibliotecas del sistema de Swift.
Esto resulta útil cuando una biblioteca nativa usa Swift de alguna manera, en cuyo caso el enlazador nativo debe saber dónde encontrar las bibliotecas del sistema de Swift.
Actualmente, esto significa que estos argumentos se pasarán al enlazador nativo:
- -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
El conjunto exacto de argumentos puede cambiar en el futuro.
Versión Mínima de MacCatalyst
Especifica la versión mínima de Mac Catalyst (iOS) en la que se puede ejecutar la aplicación.
Aplicable a Mac Catalyst; establecer este valor establecerá SupportedOSPlatformVersion para proyectos de Mac Catalyst (solo).
MaciOSPrepareForBuildDependsOn
Propiedad delimitada por punto y coma que se puede usar para extender el proceso de compilación. Los destinos de MSBuild agregados a esta propiedad se ejecutarán al principio de la compilación para los tipos de proyecto tanto de aplicación como de biblioteca. Esta propiedad está vacía de forma predeterminada.
Ejemplo:
<PropertyGroup>
<MaciOSPrepareForBuildDependsOn>$(MaciOSPrepareForBuildDependsOn);MyCustomTarget</MaciOSPrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Esta propiedad se introdujo en .NET 9.
Versión mínima de macOS
Especifica la versión mínima de macOS en la que se puede ejecutar la aplicación.
Aplicable a macOS; establecer este valor establecerá SupportedOSPlatformVersion para proyectos de macOS (solo).
MacOSXSdkVersion
Versión del SDK de macOS que se va a usar para la compilación.
Valor predeterminado: se detecta automáticamente según la versión predeterminada enviada con el Xcode seleccionado.
Consulte también MtouchSdkVersion.
MarshalManagedExceptionMode
Elija cómo se controlarán las excepciones administradas en caso de que se encuentre un marco nativo durante el desenredo de la pila mientras se procesa la excepción administrada.
Valores válidos:
default
: actualmente, se trata dethrowobjectivecexception
.unwindnativecode
: esto no está disponible cuando se usa el entorno de ejecución de CoreCLR.throwobjectivecexception
: captura la excepción administrada y la convierte en una excepción de Objective-C.abort
: anula el proceso.disable
: deshabilita la interceptación de las excepciones administradas. Para MonoVM, es equivalente aunwindnativecode
, para CoreCLR, es equivalente aabort
.
Para obtener más información, vea Serialización de excepciones y SerialalObjectiveCExceptionMode.
MarshalObjectiveCExceptionMode
Elija cómo se controlarán las excepciones Objective-C en caso de que se encuentre un marco administrado durante el desenredo de la pila mientras se procesa la excepción Objective-C.
Valores válidos:
default
: actualmente, se trata dethrowmanagedexception
.unwindmanagedcode
: esto no está disponible cuando se usa el entorno de ejecución de CoreCLR.throwmanagedexception
: captura la excepción de Objective-C y la convierte en una excepción administrada.abort
: anula el proceso.-
disable
: se deshabilita la interceptación de cualquier excepción Objective-C.
Para obtener más información, vea Serialización de excepciones y MarshalManagedExceptionMode.
MdimportPath
Ruta de acceso completa de la herramienta mdimport
.
El comportamiento predeterminado es usar xcrun mdimport
.
MetalLibPath
La ruta de acceso completa a la herramienta metallib
(Metal Linker).
El comportamiento predeterminado es usar xcrun metallib
.
MetalPath
Ruta de acceso completa al compilador Metal.
El comportamiento predeterminado es usar xcrun metal
.
MmpDebug
Habilita el modo de depuración para la creación de conjuntos de aplicaciones.
Solo se aplica a proyectos de macOS.
Consulte también MtouchDebug.
MonoBundlingExtraArgs
Argumentos adicionales que especifican cómo crear la agrupación de aplicaciones.
Solo se aplica a proyectos de macOS.
Esta propiedad está en desuso, use AppBundleExtraOptions en su lugar.
MonoMacResourcePrefix
El directorio en el que se almacenan los recursos (este prefijo se quitará al copiar recursos en el lote de aplicaciones).
Solo se aplica a proyectos de macOS.
Vea también IPhoneResourcePrefix y XamMacResourcePrefix.
MtouchDebug
Habilita el modo de depuración para la creación de conjuntos de aplicaciones.
Aplicable a proyectos iOS, tvOS y Mac Catalyst.
Consulte también MmpDebug.
MtouchEnableSGenConc
Habilita el modo simultáneo para el recolector de basura SGen.
Solo se aplica a iOS, tvOS y Mac Catalyst cuando no se usa NativeAOT.
Esta propiedad está en desuso, use EnableSGenConc en su lugar.
MtouchExtraArgs
Argumentos adicionales que especifican cómo crear la agrupación de aplicaciones.
Solo se aplica a proyectos iOS, tvOS y Mac Catalyst.
Esta propiedad está en desuso, use AppBundleExtraOptions en su lugar.
MtouchInterpreter
Habilita el intérprete y, opcionalmente, toma una lista separada por comas de ensamblados para interpretarla (en cambio, si el ensamblado va precedido de un signo menos, se compilará en AOT). 'all' se puede usar para especificar todos los ensamblados. Este argumento se puede especificar varias veces.
Ejemplo:
<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>
Una abreviatura de MtouchInterpreter
es establecer UseInterpreter=true
, que es equivalente a MtouchInterpreter=all
.
Si se establecen tanto UseInterpreter
como MtouchInterpreter
, MtouchInterpreter
tiene prioridad.
Aplicable a las aplicaciones iOS, tvOS y Mac Catalyst (cuando no se usa NativeAOT).
El comportamiento predeterminado es no habilitar el intérprete.
Nota:
MAUI cambia el valor predeterminado estableciendo UseInterpreter=true
para la "Debug"
configuración.
MtouchLink
Especifica el modo de vínculo para el proyecto (None
, SdkOnly
, Full
).
Aplicable a los proyectos de iOS, tvOS y Mac Catalyst, pero esta propiedad está obsoleta, utilice TrimMode en su lugar.
Consulte también LinkMode.
MtouchSdkVersion
Versión del SDK de iOS o tvOS que se va a usar para la compilación.
Valor predeterminado: se detecta automáticamente según la versión predeterminada enviada con el Xcode seleccionado.
Consulte también MacOSXSdkVersion.
MtouchUseLlvm
Propiedad booleana que especifica si la compilación de AOT se debe realizar mediante LLVM.
Aplicable a proyectos iOS, tvOS y Mac Catalyst.
Predeterminado:
- En iOS y tvOS: se habilita para versiones de lanzamiento (donde
Configuration="Release"
). - En Mac Catalyst: nunca está habilitado de forma predeterminada.
NoBindingEmbedding
Propiedad booleana que especifica si las bibliotecas nativas de los proyectos de enlace deben insertarse en el ensamblado administrado o colocarse en un .resources
directorio junto al ensamblado administrado.
El valor predeterminado es true
(lo que significa que las bibliotecas nativas no se insertarán en el ensamblado administrado).
Nota:
Xcframeworks no funcionarán correctamente si están incrustados dentro del ensamblado administrado (si esta propiedad no es true
).
NoDSymUtil
Propiedad booleana que especifica si se debe deshabilitar la generación de .dSYM.
Predeterminado:
-
true
para iOS y tvOS al compilar para el simulador. -
true
para macOS y Mac Catalyst, a menos que se cree un archivo (ArchiveOnBuild=true
)
Esto significa que el archivo .dSYM se generará en los casos siguientes (de forma predeterminada):
- En iOS y tvOS, al compilar para el dispositivo.
- En macOS y Mac Catalyst al crear un archivo (
ArchiveOnBuild=true
).
NoSymbolStrip
Propiedad booleana que determina si los símbolos de depuración se eliminan de la aplicación en tiempo de compilación.
El comportamiento predeterminado consiste en conservar los símbolos de depuración para:
- Compilaciones
Debug
para plataformas de escritorio. - Compilaciones de simulador para plataformas para dispositivos móviles.
Ejemplo de conservación de símbolos de depuración:
<PropertyGroup>
<NoSymbolStrip>true</NoSymbolStrip>
</PropertyGroup>
OnDemandResourcesInitialInstallTags
Propiedad de cadena que especifica las etiquetas de instalación iniciales para los recursos a petición.
OnDemandResourcesPrefetchOrder
Propiedad de cadena que especifica el orden de precarga de los recursos a petición.
OnDemandResourcesUrl
Propiedad de cadena que especifica la dirección URL del recurso para los recursos a petición.
OptimizePNGs
Propiedad booleana que especifica si se deben optimizar las imágenes png.
OptimizePngImagesDependsOn
Este es un punto de extensión para la compilación: un desarrollador puede agregar cualquier objetivo a esta propiedad para ejecutar esos objetivos antes de que se optimicen las imágenes png.
Ejemplo:
<PropertyGroup>
<OptimizePngImagesDependsOn>$(OptimizePngImagesDependsOn);MyCustomTarget</OptimizePngImagesDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
OptimizarListasDePropiedades
Propiedad booleana que especifica si se deben optimizar las listas de propiedades (plists).
OptimizePropertyListsDependsOn
Este es un punto de extensión para la construcción: un desarrollador puede agregar cualquier objetivo a esta propiedad para ejecutar esos objetivos antes de que se optimicen las listas de propiedades (plists).
Ejemplo:
<PropertyGroup>
<OptimizePropertyListsDependsOn>$(OptimizePropertyListsDependsOn);MyCustomTarget</OptimizePropertyListsDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
ClaveDeFirmaDelPaquete
Especifica la clave de firma de código para firmar el paquete al crear .pkg para un proyecto macOS y Mac Catalyst.
Solo se aplica a aplicaciones macOS y Mac Catalyst.
PackagingExtraArgs
Especifica los argumentos adicionales que se van a pasar a la herramienta "productbuild" al crear .pkg para un proyecto macOS y Mac Catalyst.
Solo se aplica a aplicaciones macOS y Mac Catalyst.
PkgPackagePath
Especifica la ruta de acceso al archivo .pkg resultante al crear un paquete (consulte CreatePackage).
Solo se aplica a aplicaciones macOS y Mac Catalyst.
PlutilPath
Ruta de acceso completa a la herramienta de línea de comandos plutil
.
El comportamiento predeterminado es usar xcrun plutil
.
PngCrushPath
Ruta de acceso completa a la herramienta de línea de comandos pngcrush
.
El comportamiento predeterminado es usar xcrun pngcrush
.
ProcessEnums
Propiedad booleana que especifica si las enumeraciones se deben procesar como una definición de API en los proyectos de enlace.
ProductBuildPath
Ruta de acceso completa de la herramienta productbuild
.
El comportamiento predeterminado es usar xcrun productbuild
.
Definición del Producto
Plantilla de definición de producto (.plist
) que se va a usar al crear la definición del producto para pasarla a la herramienta de compilación del producto al crear paquetes (.pkg).
Solo se aplica a aplicaciones macOS y Mac Catalyst.
ReferenceNativeSymbol
El grupo ReferenceNativeSymbol
de elementos se puede usar para especificar cómo debemos controlar un símbolo nativo determinado: omitirlo o pedir al enlazador nativo que lo mantenga (pasando el símbolo como -u ...
o en un archivo de símbolos al enlazador nativo).
Hay dos tipos admitidos de metadatos:
-
SymbolType
:ObjectiveCClass
,Function
oField
. Se usa para calcular el nombre nativo completo de un símbolo (por ejemplo, el símbolo nativo de la claseMyClass
Objective-C es_OBJC_CLASS_$_MyClass
, mientras que para una funciónMyFunction
es simplemente_MyFunction
. -
SymbolMode
:Ignore
o sin establecer.Ignore
significa no pasar el símbolo especificado al enlazador nativo, el valor predeterminado es hacerlo.
SymbolType
es obligatorio, aunque SymbolMode
no lo es.
Símbolo de ejemplo que se debe mantener:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" />
</ItemGroup>
Símbolo de ejemplo que se omitirá:
<ItemGroup>
<ReferenceNativeSymbol Include="MyClass" SymbolType="ObjectiveCClass" SymbolMode="Ignore" />
</ItemGroup>
RequireLinkWithAttributeForObjectiveCClassSearch
Examinaremos automáticamente todas las bibliotecas de clases administradas que se asignan a las clases Objective-C existentes y, a continuación, crearemos una referencia nativa en tiempo de compilación para esas clases Objective-C.
De este modo, el enlazador nativo no quitará estas clases de Objective-C, pensando que no se usan.
Sin embargo, esto puede causar un problema si una clase administrada hace referencia a una clase Objective-C que no existe. La corrección adecuada para esto es quitar estas clases administradas de la compilación, pero esto puede ser complicado, en particular si la clase administrada procede de una referencia binaria (como NuGet).
En estos casos, es posible establecer la propiedad RequireLinkWithAttributeForObjectiveCClassSearch
en true
para que solo examinemos las bibliotecas con el atributo [LinkWith]
para las clases Objective-C:
<PropertyGroup>
<RequireLinkWithAttributeForObjectiveCClassSearch>true</RequireLinkWithAttributeForObjectiveCClassSearch>
</PropertyGroup>
SkipStaticLibraryValidation
El reinicio frecuente no admite la vinculación con bibliotecas estáticas, por lo que, de forma predeterminada, se mostrará un error si el proyecto intenta vincular con cualquier biblioteca estática al usar el reinicio frecuente.
Sin embargo, en algunos casos puede ser útil omitir estos errores (por ejemplo, si prueba una ruta de acceso de código en la aplicación que no requiere la biblioteca estática en cuestión), por lo que es posible omitirlos.
Los valores válidos son:
- "true", "disable": deshabilite completamente la validación.
- "false", "error", cadena vacía: habilite la validación (este es el valor predeterminado)
- "warn": valide, pero muestre advertencias en lugar de errores.
Ejemplo:
<PropertyGroup>
<SkipStaticLibraryValidation>warn</SkipStaticLibraryValidation>
</PropertyGroup>
Esto mostrará advertencias en lugar de errores si el proyecto intenta vincular con una biblioteca estática.
StripPath
Ruta de acceso completa a la herramienta de línea de comandos strip
.
El comportamiento predeterminado es usar xcrun strip
.
SupportedOSPlatformVersion
Especifica la versión mínima del sistema operativo en la que se puede ejecutar la aplicación.
También es posible usar una propiedad específica de la plataforma:
TrimMode
Especifica la granularidad de recorte.
Las opciones válidas son:
-
full
: se recorta cada ensamblado. -
partial
: se recortan los ensamblados que se han dado de alta para el recorte. -
copy
: no se recorta ningún ensamblado.
Vea TrimMode para obtener más información sobre la TrimMode
propiedad .
Nota:
Por razones técnicas, el recortador debe ejecutarse para todos los proyectos iOS, tvOS, macOS y Mac Catalyst, incluso si no se van a recortar ensamblados. Por este motivo, no es válido deshabilitar el recorte al establecer PublishTrimmed en false
. Para deshabilitar el recorte, establezca TrimMode=copy
en su lugar. Se generará un error de compilación si PublishTrimmed
se establece en false
.
La TrimMode
propiedad es equivalente a las propiedades MtouchLink existentes (para iOS, tvOS y Mac Catalyst) y LinkMode (para macOS), pero los valores de propiedades válidos son diferentes (aunque la semántica sea la misma):
MtouchLink/LinkMode | TrimMode |
---|---|
Completo | lleno |
SdkOnly | parcial |
Ninguno | copiar |
En el futuro, las MtouchLink
propiedades y LinkMode
quedarán en desuso, use TrimMode
en su lugar.
El modo de recorte predeterminado depende de numerosos factores y también puede cambiar en el futuro.
Los valores predeterminados actuales (a partir de .NET 9) son:
- iOS e iOS:
partial
al compilar para el dispositivo,copy
al compilar para el simulador. - macOS: siempre
copy
. - Mac Catalyst:
partial
al compilar para la configuración"Release"
,copy
en caso contrario.
Excepciones:
- El valor predeterminado es siempre
full
cuando se compila con NativeAOT. - MAUI cambia el valor predeterminado a
copy
al compilar para laDebug
configuración y el intérprete está habilitado mediante UseInterpreter (que MAUI también habilita de forma predeterminada al usar la"Debug"
configuración).
Nota:
El modo de recorte predeterminado puede cambiar en el futuro.
tvOSMinimumVersion
Especifica la versión mínima de tvOS en la que se puede ejecutar la aplicación.
Aplicable a tvOS; establecer este valor establecerá SupportedOSPlatformVersion para proyectos de tvOS (solo).
UseHardenedRuntime
Propiedad booleana que especifica si está habilitado un entorno de ejecución protegido.
Aplicable a proyectos macOS y Mac Catalyst.
UseInterpreter
Habilita el intérprete (para todos los ensamblados).
Esto equivale a establecer MtouchInterpreter=all
.
Aplicable a las aplicaciones iOS, tvOS y Mac Catalyst (cuando no se usa NativeAOT).
El comportamiento predeterminado es no habilitar el intérprete.
Nota:
MAUI cambia el valor predeterminado estableciendo UseInterpreter=true
para la "Debug"
configuración.
Consulte MtouchInterpreter para obtener más información.
UseNativeHttpHandler
Si el controlador http nativo debe ser el controlador HTTP predeterminado o no.
Valor predeterminado: true para todas las plataformas excepto macOS.
ValidateEntitlements
Elija si se deben validar los derechos que solicita la aplicación.
Valores válidos para esta propiedad:
disable
: la validación está deshabilitada.warn
: los errores de validación se muestran como advertencias.error
: los errores de validación se muestran como errores. Este es el valor predeterminado.
Es posible que el proceso de validación no valide todos los derechos; tampoco se garantiza que no se aplique una diligencia excesiva.
Si la validación falla para derechos que sí funcionan, registre un problema nuevo.
ValidateXcodeVersion
Elija si se debe validar la versión actual de Xcode.
El valor predeterminado es validar; establézcalo en false
para deshabilitar.
Nota:
Es probable que el uso de una versión diferente de la recomendada genere problemas más adelante en el proceso de compilación.
XamMacResourcePrefix
El directorio en el que se almacenan los recursos (este prefijo se quitará al copiar recursos en el lote de aplicaciones).
Aplicable a proyectos de macOS.
Vea también IPhoneResourcePrefix y MonoMacResourcePrefix.
ZipPath
Ruta de acceso completa a la herramienta de línea de comandos zip
.
El comportamiento predeterminado es usar xcrun zip
.