Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As propriedades do MSBuild controlam o comportamento dos destinos . Eles são especificados dentro do arquivo de projeto, por exemplo, MyApp.csproj, dentro de um MSBuild PropertyGroup.
AltoolPath
O caminho completo para a ferramenta altool.
O comportamento padrão é usar xcrun altool.
ACToolPath
O caminho completo para a ferramenta actool.
O comportamento padrão é usar xcrun actool.
AppBundleResourcePrefix
O diretório onde os recursos são armazenados (esse prefixo será removido ao copiar recursos para o pacote de aplicativos).
Se não for definida explicitamente, essa propriedade herdará seu valor das propriedades de prefixo de recurso específicas da plataforma (IPhoneResourcePrefix, MonoMacResourcePrefix ou XamMacResourcePrefix , dependendo da plataforma).
Padrão: "Recursos"
AppBundleDir
O local do pacote de aplicativos criado.
Opções Extra do Pacote de Aplicação
Argumentos adicionais avançados para a criação de pacotes de aplicativos.
O conjunto válido de argumentos depende da plataforma.
Normalmente, eles não devem ser usados, a menos que especificado por um engenheiro da Microsoft.
Ícone do aplicativo
O grupo de itens AppIcon pode ser usado para especificar um ícone de aplicativo para o aplicativo.
O valor da propriedade deve apontar para o nome de ficheiro de um recurso de imagem .appiconset (para iOS, macOS e Mac Catalyst) ou .brandassets (para tvOS) dentro de um catálogo de ativos.
Exemplo:
<PropertyGroup>
<!-- The value to put in here for the "Resources/MyImages.xcassets/MyAppIcon.appiconset" resource would be "MyAppIcon" -->
<AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>
Ver também:
- O grupo de itens AlternateAppIcon.
- A propriedade IncludeAllAppIcons.
Versão de Exibição da Aplicação
Se definido, especifica o valor CFBundleShortVersionString no manifesto do aplicativo (Info.plist).
Esta é uma propriedade que suporta .NET "Single Project".
Consulte OneDotNetSingleProject para obter mais informações.
ApplicationId
Se definido, especifica o valor CFBundleIdentifier no manifesto do aplicativo (Info.plist).
Esta é uma propriedade que suporta .NET "Single Project".
Consulte OneDotNetSingleProject para obter mais informações.
Título da Aplicação
Se definido, especifica o CFBundleDisplayName no manifesto do aplicativo (Info.plist).
Esta é uma propriedade que suporta .NET "Single Project".
Consulte OneDotNetSingleProject para obter mais informações.
Versão da Aplicação
Se definido, especifica o CFBundleVersion no manifesto do aplicativo (Info.plist).
Esta é uma propriedade que suporta .NET "Single Project".
Consulte OneDotNetSingleProject para obter mais informações.
ArchiveBasePath
O local onde os arquivos são armazenados no Windows para uma compilação remota.
O padrão é: %LocalAppData%\Xamarin\iOS\Archives
Aplicável apenas a projetos iOS (uma vez que apenas projetos iOS podem ser criados remotamente a partir do Windows).
ArquivoOnBuild
Se um arquivo Xcode deve ser criado no final da compilação.
BGenEmitDebugInformation
Se a ferramenta bgen (o gerador de vinculação) deve emitir informações de depuração ou não.
O comportamento padrão é true quando a propriedade Debug está definida como true.
BGenExtraArgs
Quaisquer argumentos adicionais para a ferramenta bgen (o gerador de ligações).
BGenToolExe
O nome do executável bgen (uma ferramenta usada por projetos de vinculação para gerar associações).
O comportamento padrão é usar a ferramenta bgen fornecida com nossa carga de trabalho.
BGenToolPath
O diretório onde o bgen (BGenToolExe) está localizado.
O comportamento padrão é usar a ferramenta bgen fornecida com nossa carga de trabalho.
BuildIpa
Se um pacote (.ipa) deve ser criado para o pacote de aplicativos no final da compilação.
Aplicável apenas a projetos iOS e tvOS.
Consulte CreatePackage para projetos macOS e Mac Catalyst.
BundleCreateDump
CoreCLR tem um utilitário de linha de comando chamado createdump para criar core dumps se o processo crashar. O macOS criará automaticamente relatórios de falhas para qualquer aplicativo da App Store e os disponibilizará para o desenvolvedor do aplicativo, portanto, a createdump ferramenta não é útil para muitos aplicativos do macOS e, como tal, não está incluída nos aplicativos por padrão.
Isso pode ser substituído definindo a BundleCreateDump propriedade:
<PropertyGroup>
<BundleCreateDump>true</BundleCreateDump>
</PropertyGroup>
Nota: a createdump ferramenta atualmente não funciona para aplicativos em área restrita (#18961);
Apenas aplicável a projetos que utilizam o ambiente de execução CoreCLR (que, no momento em que este artigo foi escrito, são apenas os dos projetos macOS).
PacoteRecursosOriginais
Essa propriedade determina se os recursos são compilados antes de serem incorporados em projetos de biblioteca ou se a versão original (não compilada) é incorporada.
Historicamente, os recursos foram compilados antes de serem incorporados em projetos de biblioteca, mas isso requer ter o Xcode disponível, o que tem algumas desvantagens:
- Torna mais lentas as compilações remotas no Windows.
- Ele não funcionará ao criar localmente no Windows, e nem em qualquer outra plataforma, exceto macOS.
- Os recursos são compilados usando o Xcode disponível atual, que pode não ter os mesmos recursos de um Xcode potencialmente mais recente disponível quando a biblioteca em questão é consumida.
- Isso torna impossível ter uma visão de todo o programa de todos os recursos ao criar um aplicativo, o que é necessário para detetar recursos conflitantes.
Como tal, adicionámos suporte para incorporar os recursos originais em bibliotecas. Isso será opcional no .NET 9, mas obrigatório a partir do .NET 10.
O valor padrão dessa propriedade false no .NET 9 e true no .NET 10+.
Observação
Registre um problema se achar que precisa desativar esse recurso, pois é possível que a opção para desativá-lo seja removida no futuro.
CodesignAlocar
O caminho para a ferramenta codesign_allocate.
Por padrão, esse valor é detetado automaticamente.
CodesignConfigureDependsOn
Este é um ponto de extensão para a compilação: um desenvolvedor pode adicionar quaisquer destinos a essa propriedade para executar esses destinos antes que a compilação examine qualquer uma das propriedades de codesign.
Isso pode, por exemplo, ser usado para desativar a assinatura de código para compilações de simulador:
<PropertyGroup>
<CodesignConfigureDependsOn>$(CodesignConfigureDependsOn);DisableCodesignInSimulator</CodesignConfigureDependsOn>
</PropertyGroup>
<Target Name="DisableCodesignInSimulator" Condition="'$(SdkIsSimulator)' == 'true'">
<PropertyGroup>
<EnableCodeSigning>false</EnableCodeSigning>
</PropertyGroup>
</Target>
CodesignDependeDe
Este é um ponto de extensão para a compilação: um programador pode adicionar quaisquer alvos a esta propriedade para executar esses alvos antes que o pacote de aplicação seja assinado.
Exemplo:
<PropertyGroup>
<CodesignDependsOn>$(CodesignDependsOn);DoThisBeforeCodesign</CodesignDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCodesign">
<Exec Command="echo This is executed right before the app is signed." />
</Target>
CodesignDireitos
O caminho para o arquivo de direitos que especifica os direitos que o aplicativo requer.
Normalmente "Entitlements.plist".
Definiremos automaticamente como "Entitlements.plist" se esse arquivo existir no diretório raiz do projeto.
Isso pode ser evitado definindo a propriedade EnableDefaultCodesignEntitlements como false.
CodesignExtraArgs
Argumentos extras passados para a ferramenta 'codesign' ao assinar o pacote de aplicativos.
CodesignKey
Especifica a chave de assinatura de código a ser usada ao assinar o pacote de aplicativos.
CodesignKeychain
As chaves a serem usadas durante a assinatura de código.
Chave de Assinatura de Código
Especifica a chave de assinatura de código a ser usada ao assinar o pacote de aplicativos.
Aplicável apenas a aplicativos macOS e Mac Catalyst, mas é recomendado usar a propriedade CodesignKey em vez disso (que funciona em todas as plataformas).
CodesignProvision
Especifica o perfil de provisionamento a ser usado ao assinar o pacote de aplicativos.
CodesignResourceRules
O caminho para o ResourceRules.plist a ser copiado para o pacote de aplicativos.
CodesignRequireProvisioningProfile
Especifica se um perfil de provisionamento é necessário ao assinar o pacote de aplicativos.
Por padrão, exigimos um perfil de provisionamento se:
- macOS, Mac Catalyst: um perfil de provisionamento foi especificado (com a propriedade CodesignProvision).
- iOS, tvOS: a criação para dispositivo ou um arquivo de direitos foi especificada (com a propriedade CodesignEntitlements ).
Definir essa propriedade como true ou false substituirá a lógica padrão.
CompressBindingResourcePackage
As referências nativas em um projeto de vinculação são copiadas para o diretório de saída durante o processo de compilação, ao lado do assembly de vinculação (em algo que chamamos de "pacote de recursos de vinculação").
Essas referências nativas podem ser armazenadas compactadas dentro de um arquivo zip (chamado $(AssemblyName).resources.zip, ou as-is, dentro de um diretório chamado $(AssemblyName).resources.
A CompressBindingResourcePackage propriedade especifica se um arquivo zip ou um diretório deve ser criado.
Os valores possíveis são:
-
auto: decida automaticamente a melhor opção (atualmente um arquivo zip é sempre criado, mas uma vez que o Visual Studio oferece suporte a caminhos longos no Windows, isso pode mudar para apenas pacotes de recursos de vinculação zip com links simbólicos). -
true: criar um arquivo zip -
false: criar um diretório
A predefinição é auto.
Isso também se aplica à forma como as referências nativas são armazenadas dentro do NuGets.
Observação
Em alguns casos, pode ser benéfico forçar um ficheiro zip no iOS também, especialmente quando há um conjunto de ficheiros com nomes longos, porque o ficheiro zip às vezes pode contornar problemas de MAX_PATH no Windows.
CopySceneKitAssetsPath
O caminho completo para a ferramenta copySceneKitAssets.
O comportamento padrão é usar xcrun copySceneKitAssets.
CoreMLCompilerPath
O caminho completo para a ferramenta coremlc.
O comportamento padrão é usar xcrun coremlc.
CriarPacoteAplicativoDependeDe
Este é um ponto de extensão para a compilação: um desenvolvedor pode adicionar quaisquer destinos a essa propriedade para executar esses destinos ao criar o pacote de aplicativos.
Exemplo:
<PropertyGroup>
<CreateAppBundleDependsOn>$(CreateAppBundleDependsOn);DoThisBeforeCreatingAppBundle</CreateAppBundleDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingAppBundle">
<Exec Command="echo This is executed before the app bundle is created." />
</Target>
CriarIpaDependeDe
Este é um ponto de extensão para o build: um desenvolvedor pode adicionar quaisquer alvos a essa propriedade para executar esses alvos ao criar um IPA.
Aplicável a todas as plataformas que constroem arquivos IPA (atualmente iOS e tvOS).
Exemplo:
<PropertyGroup>
<CreateIpaDependsOn>$(CreateIpaDependsOn);DoThisBeforeCreatingIPA</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="DoThisBeforeCreatingIPA">
<Exec Command="echo This is executed before the IPA is created." />
</Target>
CreatePackage
Se um pacote (.pkg) deve ser criado para o pacote de aplicativos no final da compilação.
Aplicável apenas a projetos macOS e Mac Catalyst.
Veja BuildIpa para projetos iOS e tvOS.
Device
Especifica qual dispositivo móvel ou simulador direcionar ao usar dotnet run --device <Device> ou alvos do MSBuild que interagem com dispositivos (como Run, Install, ou Uninstall).
O valor pode ser qualquer coisa que as ferramentas simctl de linha de comandos ou devicectl aceitam para o nome do dispositivo; isto é tipicamente o UDID ou o nome do dispositivo. Por exemplo, para o dispositivo My iOS Device com UDID 00001111-012301230123ABCD, use -p:Device="My iOS Device" ou -p:Device=00001111-012301230123ABCD.
Para mais informações sobre a seleção de dispositivos, consulte a especificação de seleção de dispositivos do SDK .NET.
CompilaçãoEspecíficaDoDispositivo
Se a compilação deve ser específica para o dispositivo selecionado.
Aplicável a todas as plataformas que suportam compilações específicas do dispositivo (atualmente iOS e tvOS).
CaminhoDeSaídaIntermediáriaEspecíficoDoDispositivo
O caminho de saída intermediário a ser usado quando compilações específicas do dispositivo estão habilitadas.
Aplicável a todas as plataformas que suportam compilações específicas do dispositivo (atualmente iOS e tvOS).
DeviceSpecificOutputPath
O caminho de saída a ser usado quando compilações específicas do dispositivo estiverem habilitadas.
Aplicável a todas as plataformas que suportam compilações específicas do dispositivo (atualmente iOS e tvOS).
Endereço de diagnóstico
O endereço IP onde dotnet-dsrouter está sendo executado. Isso ocorre normalmente 127.0.0.1 ao criar o perfil no simulador e o endereço IP da máquina ao dotnet-dsrouter criar o perfil em um dispositivo.
Este é o componente de endereço IP de DiagnosticConfiguration'.
Implicitamente define EnableDiagnostics como true.
O padrão é 127.0.0.1.
Configuração de Diagnóstico
Um valor fornecido por dotnet-dsrouter para DOTNET_DiagnosticPorts como:
127.0.0.1:9000,suspend,connect127.0.0.1:9000,nosuspend,connect
Note que o caractere , precisa ser escapado com %2c se for passado na linha de comando para dotnet build.
dotnet build -c Release -p:DiagnosticConfiguration=127.0.0.1:9000%2csuspend%2cconnect
Isso definirá automaticamente a DOTNET_DiagnosticPorts variável de ambiente empacotada dentro do aplicativo, para que a variável de ambiente seja definida quando o aplicativo for iniciado.
Implicitamente define EnableDiagnostics como true.
O comportamento padrão é calcular esse valor a partir das outras propriedades de diagnóstico (DiagnosticAddress, DiagnosticPort, DiagnosticListenMode e DiagnosticSuspend).
Se definida, qualquer uma das outras propriedades de diagnóstico será ignorada.
DiagnosticListenMode
Um valor fornecido por dotnet-dsrouter tal como connect ou listen, o componente de modo de escuta de DiagnosticConfiguration'.
Implicitamente define EnableDiagnostics como true.
O padrão é listen.
DiagnosticPort
Um valor fornecido por dotnet-dsrouter , como 9000, o componente de porta de DiagnosticConfiguration'.
Implicitamente define EnableDiagnostics como true.
O padrão é 9000.
Suspensão de Diagnóstico
Um valor que especifica o comportamento de inicialização ao criar o perfil de um aplicativo.
Defina para true suspender o aplicativo na inicialização (aguardando que o servidor de diagnóstico se conecte ao aplicativo) ou false para iniciar o aplicativo como de costume (e conecte o servidor de diagnóstico ao aplicativo mais tarde).
Isso corresponde com o valor suspend/nosuspend em DiagnosticConfiguration'.
Implicitamente define EnableDiagnostics como true.
O padrão é false.
DittoPath
O caminho completo para o executável ditto.
O comportamento padrão é usar /usr/bin/ditto.
EmbedOnDemandResources
Se os recursos sob demanda devem ser incorporados ao pacote de aplicativos.
Padrão: verdadeiro
AtivarAssinaturaDeCódigo
Se a assinatura de código estiver habilitada.
A assinatura de código é ativada por padrão para todas as plataformas; isso pode ser substituído por esta propriedade.
Ativar Presets de Assinatura de Código
Consulte CodesignEntitlements.
AtivarRecursosSobDemanda
Se os recursos sob demanda estiverem habilitados.
Padrão: false para macOS, true para todas as outras plataformas.
AtivarAssinaturaDePacotes
Se o .pkg que foi criado (se CreatePackage tiver sido ativado) deve ser assinado.
Aplicável apenas ao macOS e Mac Catalyst.
Ativar Diagnósticos
Habilite os componentes necessários para o diagnóstico (como a criação de perfil) funcionem.
Ele é habilitado por padrão para compilações de depuração (quando MtouchDebug ou MmpDebug está habilitado), mas precisa ser habilitado manualmente antes de criar o perfil das compilações de versão:
<PropertyGroup>
<EnableDiagnostics>true</EnableDiagnostics>
</PropertyGroup>
Isso aumentará ligeiramente o tamanho do aplicativo.
Aplicável apenas ao usar o tempo de execução do Mono (o CoreCLR sempre suporta diagnósticos, enquanto o NativeAOT nunca o faz).
EnableSGenConc
Habilita o modo simultâneo para o coletor de lixo SGen.
Aplicável apenas a iOS, tvOS e Mac Catalyst (quando não estiver usando NativeAOT).
EventSourceSupport
Quando definido como false, desativa o suporte de EventSource do .NET em aplicações otimizadas. Desativar esta funcionalidade impediria o funcionamento de ferramentas de diagnóstico do .NET, como dotnet-counters, mas traria a vantagem de reduzir o tamanho da aplicação.
Padrão: definido como false quando Optimize está definido como true (que é o padrão para compilações Release), a menos que $(EnableDiagnostics) esteja habilitado.
ManifestoDeAplicaçãoGerado
Se um manifesto de aplicação (Info.plist) deve ser gerado.
Padrão: verdadeiro
DiretórioDeFontesGeradas
Onde a origem gerada pelo gerador é salva.
IBToolPath
O caminho completo para a ferramenta ibtool.
O comportamento padrão é usar xcrun ibtool.
IncluirTodosOsÍconesDeAplicação
Defina a propriedade IncludeAllAppIcons como true para incluir automaticamente todos os ícones de aplicativos de todos os catálogos de ativos no aplicativo.
Exemplo:
<PropertyGroup>
<IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>
Ver também:
- O grupo de itens AlternateAppIcon.
- A propriedade AppIcon.
InlineDlfcnMethods
Controla se o sistema de compilação substitui, durante a compilação, as chamadas em tempo de execução a métodos ObjCRuntime.Dlfcn por pesquisas diretas de símbolos nativos, eliminando a sobrecarga de dlsym em tempo de execução.
As opções válidas são:
-
compatibility: Apenas utilizações inline de símbolos suportadas por atributos[Field]. Isto é mais conservador e evita erros de ligação para símbolos que não existem durante a compilação. -
strict: Expande em linha chamadas ao dlfcn e cria referências nativas para todos os símbolos. Isto é mais agressivo e pode causar erros de ligação se não existirem símbolos nativos referenciados. - (vazio): Desativa a incorporação das chamadas aos métodos dlfcn.
Valor predefinido:
- .NET 11+:
strictao usar NativeAOT (PublishAot=true),compatibilitycaso contrário. - .NET 10 e anteriores: não definido (desativado).
Exemplo:
<PropertyGroup>
<InlineDlfcnMethods>compatibility</InlineDlfcnMethods>
</PropertyGroup>
O comportamento personalizado para símbolos específicos pode ser definido usando o grupo de itens ReferenceNativeSymbol :
<ItemGroup>
<ReferenceNativeSymbol SymbolMode="Ignore" SymbolType="Field" Include="InexistentSymbol" />
</ItemGroup>
Versão Mínima do iOS
Especifica a versão mínima do iOS em que o aplicativo pode ser executado.
Aplicável ao iOS; definir esse valor definirá SupportedOSPlatformVersion para projetos iOS (apenas).
IPhoneResourcePrefix
O diretório onde os recursos são armazenados (esse prefixo será removido ao copiar recursos para o pacote de aplicativos).
Aplicável a projetos iOS, tvOS e Mac Catalyst.
Em vez disso, considere usar a propriedade unificada AppBundleResourcePrefix .
Consulte também MonoMacResourcePrefix e XamMacResourcePrefix.
IpaIncludeArtwork
Se obras de arte devem ser incluídas no IPA.
Aplicável apenas a projetos iOS e tvOS.
IpaPackageName
Especifica o nome do arquivo .ipa resultante (sem o caminho) ao criar um pacote IPA (consulte BuildIpa). IpaPackagePath substituirá esse valor.
Aplicável apenas a projetos iOS e tvOS.
IpaPackageDir
Especifica o diretório do arquivo .ipa resultante ao criar um pacote IPA (consulte BuildIpa). IpaPackagePath substituirá esse valor.
Aplicável apenas a projetos iOS e tvOS.
IpaPackagePath
Especifica o caminho para o arquivo .ipa resultante ao criar um pacote IPA (consulte BuildIpa).
Aplicável apenas a projetos iOS e tvOS.
IsAppExtension
Se um projeto for uma extensão de aplicativo.
IsBindingProject
Se um projeto for um projeto vinculativo.
IsXPCService
Se uma extensão macOS for um serviço xpc.
Aplicável apenas a projetos macOS.
Modo de Ligação
Especifica o modo de link para o projeto (None, SdkOnly ou Full).
Aplicável a projetos macOS, mas esta propriedade está descontinuada. Use TrimMode em vez disso.
Consulte também MtouchLink.
LigarComBibliotecasDoSistemaSwift
Se definido como true, a compilação informará ao vinculador nativo onde encontrar as bibliotecas de sistema do Swift.
Isso é útil quando uma biblioteca nativa usa o Swift de alguma forma, caso em que o vinculador nativo precisa saber onde encontrar as bibliotecas do sistema do Swift.
Atualmente, isso significa que esses argumentos serão passados para o vinculador nativo:
- -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/[plataforma]
- -L/Applications/Xcode.app/Contents/Developer/Platforms/[platform].platform/Developer/SDKs/[platform].sdk/usr/lib/swift
O conjunto exato de argumentos pode mudar no futuro.
Versão Mínima do MacCatalyst
Especifica a versão mínima do Mac Catalyst (iOS) em que o aplicativo pode ser executado.
Aplicável ao Mac Catalyst; ao definir este valor, irá definir SupportedOSPlatformVersion para projetos Mac Catalyst (apenas).
MaciOSPrepareForBuildDependsOn
Propriedade delimitada por ponto e vírgula que pode ser usada para estender o processo de compilação. Os destinos MSBuild adicionados a essa propriedade serão executados no início da compilação para os tipos de projeto de aplicativo e biblioteca. Esta propriedade está vazia por padrão.
Exemplo:
<PropertyGroup>
<MaciOSPrepareForBuildDependsOn>$(MaciOSPrepareForBuildDependsOn);MyCustomTarget</MaciOSPrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Esta propriedade foi introduzida no .NET 9.
VersãoMínimaMacOS
Especifica a versão mínima do macOS em que o aplicativo pode ser executado.
Aplicável ao macOS; definir esse valor definirá SupportedOSPlatformVersion para projetos macOS (apenas).
MacOSXSdkVersion
A versão do SDK do macOS a ser usada para a compilação.
Padrão: detetado automaticamente de acordo com a versão padrão fornecida com o Xcode selecionado.
Consulte também MtouchSdkVersion .
Modo de Exceção Gerida Marshal
Escolha como as exceções gerenciadas são tratadas ao encontrar um quadro nativo durante o desenrolamento da pilha durante o processamento da exceção gerenciada.
Valores válidos:
-
default: Atualmente, isto éthrowobjectivecexception. -
unwindnativecode: Isso não está disponível ao usar o tempo de execução CoreCLR. -
throwobjectivecexception: Capture a exceção gerenciada e converta-a em uma exceção Objective-C. -
abort: Abortar o processo. -
disable: Desative a intercetação de quaisquer exceções gerenciadas. Para MonoVM, isso é equivalente aunwindnativecode, para CoreCLR, isso é equivalente aabort.
Para obter mais informações, consulte Exception marshaling e MarshalObjectiveCExceptionMode.
MarshalObjectiveCExceptionMode
Escolha como Objective-C exceções são tratadas ao encontrar um quadro gerenciado durante o desenrolamento da pilha durante o processamento da exceção Objective-C.
Valores válidos:
-
default: Atualmente, isto éthrowmanagedexception. -
unwindmanagedcode: Isso não está disponível ao usar o tempo de execução CoreCLR. -
throwmanagedexception: Pegue a exceção Objective-C e converta-a em uma exceção gerenciada. -
abort: Abortar o processo. -
disable: Desative a intercetação de quaisquer Objective-C exceções.
Para obter mais informações, consulte Marshaling de exceções e MarshalManagedExceptionMode.
MdimportPath
O caminho completo para a ferramenta mdimport.
O comportamento padrão é usar xcrun mdimport.
MetalLibPath
O caminho completo para a ferramenta metallib (o Metal Linker).
O comportamento padrão é usar xcrun metallib.
MetalPath
O caminho completo para o compilador Metal.
O comportamento padrão é usar xcrun metal.
Métricas-Suporte
Quando definido como false, desativa o suporte de Métricas do .NET em aplicações reduzidas. Desativar este recurso impediria que APIs como System.Diagnostics.Metrics funcionassem, mas com o benefício de menor tamanho da aplicação.
Padrão: definido como false quando Optimize está definido como true (que é o padrão para compilações Release), a menos que $(EnableDiagnostics) esteja habilitado.
MmpDebug
Habilita o modo de depuração para a criação de pacotes de aplicativos.
Aplicável apenas a projetos macOS.
Consulte também MtouchDebug.
RecorteAgressivoDeAtributosMóveis
Essa propriedade determina se vários atributos que raramente são necessários em tempo de execução devem ser cortados.
Isso é ativado por padrão.
Observe que, embora os atributos removidos sejam muito raramente usados, é tecnicamente possível que a remoção possa alterar o comportamento do tempo de execução.
Por exemplo, System.Xml.Serialization se comportará de forma diferente se um construtor tiver o [Obsolete] atributo (que é um dos atributos que são removidos). Este é um risco baixo o suficiente para justificar a remoção desses atributos por padrão devido à economia de tamanho.
A lista de atributos que são removidos pode mudar no futuro, mas no momento em que este artigo foi escrito (para .NET 10), estes são os atributos:
- 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
Esta propriedade foi introduzida no .NET 10.
MonoBundlingExtraArgs
Argumentos adicionais especificando como criar o pacote de aplicativos.
Aplicável apenas a projetos macOS.
Esta propriedade está obsoleta, use AppBundleExtraOptions em vez disso.
MonoMacResourcePrefix
O diretório onde os recursos são armazenados (esse prefixo será removido ao copiar recursos para o pacote de aplicativos).
Aplicável apenas a projetos macOS.
Em vez disso, considere usar a propriedade unificada AppBundleResourcePrefix .
Consulte também IPhoneResourcePrefix e XamMacResourcePrefix .
MonoUseCompressedInterfaceBitmap
Isso direciona o tempo de execução do Mono para usar uma versão compactada de bitmaps de interface (bitmaps de interface são usados para determinar se um determinado tipo implementa uma determinada interface).
Esses bitmaps podem usar uma quantidade significativa de memória em tempo de execução, em particular para aplicativos que têm uma quantidade substancial de interfaces.
Essa configuração é desabilitada por padrão, mas pode ser habilitada assim, o que diminuirá a quantidade de memória usada em tempo de execução:
<PropertyGroup>
<MonoUseCompressedInterfaceBitmap>true</MonoUseCompressedInterfaceBitmap>
</PropertyGroup>
A desvantagem é que as verificações de tipo (obj is SomeInterface) serão mais lentas.
Aplicável somente ao usar o tempo de execução Mono.
MtouchDebug
Habilita o modo de depuração para a criação de pacotes de aplicativos.
Aplicável a projetos iOS, tvOS e Mac Catalyst.
Consulte também MmpDebug.
MtouchEnableSGenConc
Habilita o modo simultâneo para o coletor de lixo SGen.
Aplicável apenas ao iOS, tvOS e Mac Catalyst quando não estiver usando o NativeAOT.
Esta propriedade foi preterida, use EnableSGenConc em vez disso.
MtouchExtraArgs
Argumentos adicionais especificando como criar o pacote de aplicativos.
Aplicável apenas a projetos iOS, tvOS e Mac Catalyst.
Esta propriedade está obsoleta, use AppBundleExtraOptions em vez disso.
MtouchInterpreter
Habilita o intérprete e, opcionalmente, usa uma lista de assemblies, separados por vírgula, para interpretar (se estiverem prefixados com um sinal de subtração, o assembly será, em vez disso, compilado por AOT). 'all' pode ser usado para especificar todos os assemblies. Este argumento pode ser especificado várias vezes.
Exemplo:
<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>
Uma abreviatura para o MtouchInterpreter é definir UseInterpreter=true, que é equivalente a MtouchInterpreter=all.
Se ambos os UseInterpreter e MtouchInterpreter forem definidos, então MtouchInterpreter tem precedência.
Aplicável a aplicativos iOS, tvOS e Mac Catalyst (quando não estiver usando NativeAOT).
O comportamento padrão é não habilitar o interpretador.
Observação
MAUI altera o padrão definindo UseInterpreter=true para a configuração "Debug".
MtouchLink
Especifica o modo de link para o projeto (None, SdkOnly, Full).
Esta propriedade é aplicável a projetos iOS, tvOS e Mac Catalyst, mas está obsoleta; use TrimMode em vez disso.
Consulte também LinkMode.
MtouchSdkVersion
A versão iOS ou tvOS SDK a ser usada para a compilação.
Padrão: detetado automaticamente de acordo com a versão padrão fornecida com o Xcode selecionado.
Consulte também MacOSXSdkVersion.
MtouchUseLlvm
Uma propriedade booleana que especifica se a compilação AOT deve ser feita usando LLVM.
Aplicável a projetos iOS, tvOS e Mac Catalyst.
Padrão:
- No iOS e tvOS: ativado para builds de lançamento (onde
Configuration="Release"). - No Mac Catalyst: nunca ativado por padrão.
NoBindingEmbedding
Uma propriedade booleana que especifica se as bibliotecas nativas em projetos de vinculação devem ser incorporadas no assembly gerenciado ou colocadas em um diretório .resources ao lado do assembly gerenciado.
O valor predefinido é true (o que significa que as bibliotecas nativas não serão incorporadas na assemblagem gerida).
Observação
Xcframeworks não funcionará corretamente se incorporado dentro do assembly gerenciado (se essa propriedade não estiver true).
NoDSymUtil
Uma propriedade booleana que especifica se a geração .dSYM deve ser desabilitada.
Padrão:
-
truepara iOS e tvOS ao compilar para o simulador. -
truepara macOS e Mac Catalyst, a menos que crie um arquivo (ArchiveOnBuild=true)
Isso significa que o arquivo .dSYM será gerado nos seguintes casos (por padrão):
- No iOS e tvOS ao criar para o dispositivo.
- No macOS e Mac Catalyst ao criar um ficheiro de arquivo (
ArchiveOnBuild=true).
NoSymbolStrip
Uma propriedade booleana que especifica se os símbolos de depuração são removidos do aplicativo no momento da compilação.
O comportamento padrão é manter símbolos de depuração para:
-
DebugCompilações para plataformas de desktop. - Compilações de simuladores para plataformas móveis.
Exemplo para manter símbolos de depuração:
<PropertyGroup>
<NoSymbolStrip>true</NoSymbolStrip>
</PropertyGroup>
OnDemandResourcesInitialInstallTags
Uma propriedade string que especifica as tags de instalação inicial para recursos sob demanda.
OnDemandResourcesPrefetchOrder
Uma propriedade string que especifica a ordem de pré-busca para recursos sob demanda.
UrlDeRecursosSobDemanda
Uma propriedade string que especifica a url do recurso para recursos sob demanda.
OptimizePNGs
Uma propriedade booleana que especifica se as imagens png devem ser otimizadas.
OtimizarDependênciasDeImagensPng
Este é um ponto de extensão para a compilação: um desenvolvedor pode adicionar quaisquer destinos a essa propriedade para executar esses destinos antes que quaisquer imagens png sejam otimizadas.
Exemplo:
<PropertyGroup>
<OptimizePngImagesDependsOn>$(OptimizePngImagesDependsOn);MyCustomTarget</OptimizePngImagesDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Otimizar Listas de Propriedades
Uma propriedade booleana que especifica se as listas de propriedades (plists) devem ser otimizadas.
OtimizarListasDePropriedadesDependeDe
Este é um ponto de extensão para a compilação: um desenvolvedor pode adicionar quaisquer destinos a essa propriedade para executar esses destinos antes que quaisquer listas de propriedades (plists) sejam otimizadas.
Exemplo:
<PropertyGroup>
<OptimizePropertyListsDependsOn>$(OptimizePropertyListsDependsOn);MyCustomTarget</OptimizePropertyListsDependsOn>
</PropertyGroup>
<Target Name="MyCustomTarget" >
<Message Text="Running target: 'MyCustomTarget'" Importance="high" />
</Target>
Chave de Assinatura de Pacote
Especifica a chave de assinatura de código para assinar o pacote ao criar .pkg para um projeto macOS e Mac Catalyst.
Aplicável apenas a aplicações macOS e Mac Catalyst.
EmbalagemExtraArgs
Especifica quaisquer argumentos extras a serem passados para a ferramenta 'productbuild' ao criar .pkg para um projeto macOS e Mac Catalyst.
Aplicável apenas a aplicações macOS e Mac Catalyst.
PkgPackagePath
Especifica o caminho para o arquivo .pkg resultante ao criar um pacote (consulte CreatePackage).
Aplicável apenas a aplicações macOS e Mac Catalyst.
PlutilPath
O caminho completo para a ferramenta de linha de comandos plutil.
O comportamento padrão é usar xcrun plutil.
PngCrushPath
O caminho completo para a ferramenta de linha de comandos pngcrush.
O comportamento padrão é usar xcrun pngcrush.
ProcessEnums
Uma propriedade booleana que especifica se enums devem ser processados como uma definição de api em projetos de vinculação.
ProductBuildPath
O caminho completo para a ferramenta productbuild.
O comportamento padrão é usar xcrun productbuild.
Definição do Produto
O modelo de definição de produto (.plist) a ser usado ao criar a definição de produto para passar para a ferramenta de compilação de produto ao criar pacotes (.pkg).
Aplicável apenas a aplicações macOS e Mac Catalyst.
SímboloNativoDeReferência
RequireLinkWithAttributeForObjectiveCClassSearch
Verificaremos automaticamente todas as bibliotecas em busca de classes gerenciadas que mapeiam para classes de Objective-C existentes e, em seguida, criaremos uma referência nativa no momento da compilação para essas classes Objective-C.
Dessa forma, o vinculador nativo não removerá essas classes Objective-C, pensando que elas não são usadas.
No entanto, isso pode causar um problema se uma classe gerenciada fizer referência a uma classe Objective-C que não existe. A correção adequada para isso é remover essas classes gerenciadas da compilação, mas isso pode ser complicado, em particular se a classe gerenciada vier de uma referência binária (como NuGet).
Nesses casos, é possível definir a propriedade RequireLinkWithAttributeForObjectiveCClassSearch como true para que só verifiquemos bibliotecas com o atributo [LinkWith] para Objective-C classes:
<PropertyGroup>
<RequireLinkWithAttributeForObjectiveCClassSearch>true</RequireLinkWithAttributeForObjectiveCClassSearch>
</PropertyGroup>
RunWithOpen
Esta propriedade determina se as aplicações são iniciadas utilizando o open comando no macOS ou se o executável da aplicação é executado diretamente.
Isto aplica-se apenas às aplicações macOS e Mac Catalyst.
O valor predefinido é true. Neste modo, o aplicativo será iniciado pelo macOS como qualquer outro aplicativo de interface do usuário, qualquer saída stdout/stderr será engolida pelo macOS e o dotnet run comando será concluído assim que o aplicativo for iniciado.
Se definido como false, qualquer saída stdout/stderr será impressa no terminal atual e o dotnet run comando não será concluído até que o aplicativo seja encerrado.
As seguintes propriedades podem ser usadas para configurar o comportamento quando definido como true (ou seja, usando o open comando):
AbrirNovaInstância
Se uma nova instância for aberta se o aplicativo já estiver em execução (o padrão é false).
Isso passará -n para open se definido como true.
Exemplo:
$ dotnet run -p:OpenNewInstance=false
OpenWaitForExit
Se 'dotnet run' deve esperar que a aplicação termine (o padrão é false).
Isso passará -W para open se definido como true.
Exemplo:
$ dotnet run -p:OpenWaitForExit=true
Abrir Argumentos
Essa propriedade pode ser usada para passar argumentos adicionais para o open comando.
Exemplo (para definir variáveis de ambiente):
$ dotnet run -p:OpenArguments="--env VARIABLE1=VALUE1 --env VARIABLE2=value2"
Exemplo (para redirecionar stdout e stderr para um arquivo):
$ dotnet run -p:OpenArguments="--stdout /tmp/stdout.txt --stderr /tmp/stderr.txt"
Execute man open para ver uma lista de todas as opções open aceitas.
CaminhoDeSaídaPadrão
Essa propriedade pode ser usada para redirecionar a saída stdout do aplicativo para um arquivo.
Exemplo de gravação em um ficheiro:
$ dotnet run -p:StandardOutputPath=stdout.txt
Exemplo de escrever no terminal atual:
$ dotnet run -p:StandardOutputPath=$(tty)
[... Console.WriteLine output from app ...]
Nota: isso também pode ser feito passando --stdout ... usando a propriedade OpenArguments .
StandardErrorPath
Essa propriedade pode ser usada para redirecionar a saída stderr do aplicativo para um arquivo.
Exemplo de gravação em um ficheiro:
$ dotnet run -p:StandardErrorPath=stderr.txt
Exemplo de escrever no terminal atual:
$ dotnet run -p:StandardErrorPath=$(tty)
[... Console.Error.WriteLine output from app ...]
Nota: isso também pode ser feito passando --stderr ... usando a propriedade OpenArguments .
StandardInputPath
Essa propriedade pode ser usada para redirecionar a entrada stdin para o aplicativo a partir de um arquivo.
Exemplo:
$ dotnet run -p:StandardInputPath=stdin.txt
Nota: isso também pode ser feito passando --stdin ... usando a propriedade OpenArguments .
SdkIsDesktop
Esta propriedade é apenas de leitura (defini-la não terá efeito) e especifica se estamos a construir para uma plataforma de ambiente de trabalho (macOS ou Mac Catalyst).
Esta propriedade ocorre true quando a plataforma alvo é macOS ou Mac Catalyst, e não está definida para versões iOS ou tvOS.
Tal como SdkIsSimulator, esta propriedade só é definida depois de as importações e propriedades terem sido avaliadas.
SdkIsDevice
Esta propriedade é apenas de leitura (se for definida, não terá qualquer efeito) e especifica se estamos a compilar para um dispositivo ou não.
Esta propriedade só fica true ao compilar para um dispositivo iOS ou tvOS (ou seja, quando SdkIsSimulator não é true e a plataforma é iOS ou tvOS). Não está configurado para versões de macOS ou Mac Catalyst.
Tal como SdkIsSimulator, esta propriedade só é definida depois de as importações e propriedades terem sido avaliadas.
SdkIsMobile
Esta propriedade é de apenas leitura (defini-la não terá efeito) e especifica se estamos a construir para uma plataforma móvel (iOS ou tvOS).
Esta propriedade ocorre true quando a plataforma alvo é iOS ou tvOS, e não está definida para versões macOS ou Mac Catalyst.
Tal como SdkIsSimulator, esta propriedade só é definida depois de as importações e propriedades terem sido avaliadas.
SdkIsSimulator
Esta propriedade é somente de leitura (configurá-la não surte efeito) e especifica se estamos a criar para um simulador ou não.
Só é definido depois de as importações e as propriedades terem sido avaliadas. Isso significa que a propriedade não está definida durante a avaliação das propriedades no arquivo de projeto, portanto, isso não funcionará:
<PropertyGroup>
<EnableCodeSigning Condition="'$(SdkIsSimulator)' == 'true'">false</EnableCodeSigning>
</PropertyGroup>
No entanto, uma das seguintes obras:
<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>
Nota: esta propriedade será sempre false no macOS e no Mac Catalyst.
StripPath
O caminho completo para a ferramenta de linha de comandos strip.
O comportamento padrão é usar xcrun strip.
VersãoDaPlataformaDoOSSuportado
Especifica a versão mínima do sistema operacional em que o aplicativo pode ser executado.
Também é possível usar uma propriedade específica da plataforma:
TextureAtlasPath
O caminho completo para a ferramenta TextureAtlas.
O comportamento padrão é usar xcrun TextureAtlas.
TrimMode
Especifica a granularidade de corte.
As opções válidas são:
-
full: Corte todas as montagens. -
partial: Aparar conjuntos que optaram por cortar. -
copy: Não corte em montagens.
Consulte TrimMode para obter mais informações sobre a propriedade TrimMode.
Observação
Por razões técnicas, a ferramenta de otimização deve ser executada para todos os projetos iOS, tvOS, macOS e Mac Catalyst, mesmo que nenhum assembly deva ser otimizado. Por esse motivo, não é válido desativar o corte definindo PublishTrimmed como false - para desativar o corte, defina TrimMode=copy em vez disso (um erro de compilação será gerado se PublishTrimmed estiver definido como false).
A propriedade TrimMode é equivalente às propriedades existentes MtouchLink (para iOS, tvOS e Mac Catalyst) e LinkMode (para macOS), mas os valores de propriedades válidos são diferentes (mesmo que a semântica seja a mesma):
| MtouchLink/LinkMode | TrimMode |
|---|---|
| Completo | cheio |
| SdkOnly | linha de código parcialmente executada |
| Nenhum | cópia |
No futuro, as propriedades MtouchLink e LinkMode serão preteridas, use TrimMode em vez disso.
O modo de corte padrão depende de vários fatores e também pode mudar no futuro.
Os valores padrão atuais (a partir do .NET 9) são:
- iOS e tvOS:
partialao construir para o dispositivo,copyao construir para o simulador. - macOS: sempre
copy. - Mac Catalyst:
partialquando construir para a configuração"Release",copycaso contrário.
Exceções:
- O valor padrão é sempre
fullao criar com NativeAOT. - MAUI altera o valor padrão para
copyao construir para a configuraçãoDebug, e o interpretador é ativado usando oUseInterpreter (que o MAUI também ativa por padrão ao usar a configuração"Debug").
Observação
O modo de corte padrão pode mudar no futuro.
Versão Mínima do tvOS
Especifica a versão mínima do tvOS em que o aplicativo pode ser executado.
Aplicável ao tvOS; definir esse valor definirá SupportedOSPlatformVersion para projetos tvOS (apenas).
UseFloatingTargetPlatformVersion
Uma propriedade booleana que controla se os projetos de biblioteca devem usar uma versão de plataforma de destino flutuante ou a versão de plataforma mais antiga disponível.
Por padrão (a partir do .NET 10), os projetos de biblioteca sem um explícito TargetPlatformVersion usarão os assemblies de referência mais antigos disponíveis para a versão atual do .NET. Isso garante a máxima compatibilidade e permite que o código da biblioteca seja compilado em relação à superfície mínima da API disponível para a estrutura de destino.
No entanto, esse comportamento padrão significa que os projetos de biblioteca são criados de forma diferente dos projetos executáveis (que usam a versão mais recente da plataforma). O código que funciona em um projeto executável pode não compilar quando movido para um projeto de biblioteca se ele usa APIs disponíveis apenas em versões de plataforma mais recentes.
Definir essa propriedade para true desativar a seleção automática da versão de plataforma mais antiga, permitindo que o projeto de biblioteca use a versão de plataforma padrão (mais recente) como os projetos executáveis.
Exemplo:
<PropertyGroup>
<!-- Use the latest platform version instead of the oldest -->
<UseFloatingTargetPlatformVersion>true</UseFloatingTargetPlatformVersion>
</PropertyGroup>
Padrão: false (use a versão de plataforma mais antiga para projetos de biblioteca no .NET 10+).
Essa propriedade só se aplica a projetos de biblioteca (OutputType=Library) que não são extensões de aplicativo e não especificaram uma versão explícita da plataforma de destino (a versão da plataforma de destino é o número da versão opcional no final da propriedade, por exemplo, para o TargetFramework TargetFramework a versão da net10.0-ios26.0 plataforma de destino é explicitamente 26.0).
Esta propriedade foi introduzida no .NET 10.
Usar Execução Reforçada
Uma propriedade booleana que especifica se um tempo de execução protegido está habilitado.
Aplicável a projetos macOS e Mac Catalyst.
UseInterpreter
Habilita o intérprete (para todas as assemblagens).
Isso equivale a definir MtouchInterpreter=all.
Aplicável a aplicativos iOS, tvOS e Mac Catalyst (quando não estiver usando NativeAOT).
O comportamento padrão é não habilitar o interpretador.
Observação
MAUI altera o padrão definindo UseInterpreter=true para a configuração "Debug".
Consulte MtouchInterpreter para obter mais informações.
UseNativeHttpHandler
Se o manipulador http nativo deve ser o manipulador http padrão ou não.
Padrão: true para todas as plataformas, exceto macOS.
Validar Direitos
Escolha se os direitos solicitados pelo aplicativo devem ser validados.
Valores válidos para esta propriedade:
-
disable: A validação está desativada. -
warn: Quaisquer falhas de validação são mostradas como avisos. -
error: Quaisquer falhas de validação são mostradas como erros. Este é o padrão.
O processo de validação pode não validar todos os direitos, nem é garantido que não seja excessivamente zeloso.
Se a validação falhar para direitos que realmente funcionam, registre um novo problema.
ValidateXcodeVersion
Escolha se a versão atual do Xcode deve ser validada.
O valor padrão é validar; defina como false para desativar.
Observação
Usar uma versão diferente da recomendada provavelmente produzirá problemas mais tarde no processo de compilação.
XamMacResourcePrefix
O diretório onde os recursos são armazenados (esse prefixo será removido ao copiar recursos para o pacote de aplicativos).
Aplicável a projetos macOS.
Em vez disso, considere usar a propriedade unificada AppBundleResourcePrefix .
Consulte também as referências IPhoneResourcePrefix e MonoMacResourcePrefix.
ZipPath
O caminho completo para a ferramenta de linha de comandos zip.
O comportamento padrão é usar xcrun zip.