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.
Observação
No .NET para Android tecnicamente não há distinção entre uma aplicação e um projeto de bindings, por isso estas propriedades funcionam em ambos. Na prática, é altamente recomendado criar projetos separados de aplicações e de ligações. As propriedades de build que são principalmente usadas em projetos de aplicações estão documentadas no guia de referência do MSBuild.
Construir propriedades
| Propriedade | Predefinição | Descrição |
|---|---|---|
AndroidBoundInterfacesContainConstants |
true |
Uma propriedade booleana que especifica se as constantes de ligação nas interfaces serão suportadas, ou se será usada a solução alternativa legada de criar uma IMyInterfaceConsts classe.Documentação |
AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods |
true |
Uma propriedade booleana que especifica se membros padrão e estáticos nas interfaces serão suportados, ou a solução alternativa legada de criar uma classe irmã contendo membros estáticos como abstract class MyInterface será usada.Documentação |
AndroidBoundInterfacesContainTypes |
true |
Uma propriedade booleana que especifica se tipos aninhados em interfaces serão suportados, ou se será utilizada a solução alternativa legada de criar um tipo não aninhado como IMyInterfaceMyNestedClass.Documentação |
AndroidEnableObsoleteOverrideInheritanceAdicionado em .NET 8 |
true |
Uma propriedade booleana que especifica se métodos vinculados que sobrepõem @Deprecated métodos Java são automaticamente marcados como @Deprecated.Documentação |
AndroidEnableRestrictToAttributesAdicionado em .NET 8 |
obsolete |
Uma propriedade ao estilo enum com valores válidos de obsolete e disable que especifica se o atributo .NET [Obsolete] é adicionado a uma API limitada que está marcada com @RestrictTo numa biblioteca Java.Documentação |
AndroidJavadocVerbosity |
intellisense |
Uma propriedade ao estilo enum com valores intellisense válidos e full que especifica quão "verboso" devem ser os Comentários de Documentação XML em C# ao importar documentação Javadoc dentro de projetos de binding usando a @(JavaSourceJar) ação de compilação.Documentação |
InterfacesVinculadasAndroidContêmConstantes
Uma propriedade booleana que especifica se as constantes de ligação nas interfaces serão suportadas, ou se será usada a solução alternativa legada de criar uma IMyInterfaceConsts classe.
O valor predefinido é true.
Isto só é recomendado se tentar manter a compatibilidade pública da API com uma biblioteca legada de bindings criada antes do lançamento do C# 8.
InterfacesVinculadasAoAndroidContêmMétodosDeInterfaceEstáticosEDefault
Uma propriedade booleana que especifica se os membros padrão e estáticos nas interfaces serão suportados, ou se será utilizada a solução alternativa legada de criar uma classe irmã que contenha membros estáticos como abstract class MyInterface.
O valor predefinido é true.
Isto só é recomendado se tentar manter a compatibilidade pública da API com uma biblioteca legada de bindings criada antes do lançamento do C# 8.
AndroidBoundInterfacesContainTypes
Uma propriedade booleana que especifica se tipos aninhados em interfaces serão suportados, ou se será usada a solução alternativa legada de criar um tipo não aninhado como IMyInterfaceMyNestedClass.
O valor predefinido é true.
Isto só é recomendado se tentar manter a compatibilidade pública da API com uma biblioteca legada de bindings criada antes do lançamento do C# 8.
AndroidEnableRestrictToAttributes
Uma propriedade ao estilo enum com valores válidos de obsolete e disable que controla se o atributo .NET [Obsolete] é adicionado a uma API limitada marcada com @RestrictTo numa biblioteca Java.
Esta propriedade está definida por defeito para obsolete.
Quando definido para obsolete, os tipos e membros marcados com a anotação androidx.annotation.RestrictTo Java ou que estão em pacotes Java não exportados serão marcados com um [Obsolete] atributo na ligação C#.
Este [Obsolete] atributo tem uma mensagem descritiva que explica que o proprietário do pacote Java considera a API "interna" e alerta contra o seu uso.
Este atributo também tem um código XAOBS001 de aviso personalizado para que possa ser suprimido independentemente da API "normal" obsoleta.
Quando definido para disable, a API será gerada normalmente sem atributos adicionais. (Este é o mesmo comportamento de antes do .NET 8.)
Adicionar [Obsolete] atributos em vez de remover automaticamente a API foi feito para preservar a compatibilidade da API com pacotes existentes. Caso prefira remover membros que tenham a @RestrictTo anotação ou que estejam em pacotes Java não exportados, pode usar metadados além de esta propriedade para evitar que estes tipos sejam associados:
<remove-node path="//*[@annotated-visibility]" />
O suporte para esta propriedade foi adicionado no .NET 8.
AndroidEnableSubstituiçãoObsoletaDeHerança
Uma propriedade booleana que especifica se os métodos vinculados que sobrepõem @Deprecated métodos Java são automaticamente marcados como @Deprecated.
É extremamente raro precisar alterar esta propriedade.
O suporte para esta propriedade foi adicionado no .NET 8.
AndroidJavadocVerbosity
Uma propriedade ao estilo enum com valores válidos de intellisense e full, que especifica quão "verbosos" devem ser os Comentários de Documentação XML em C# ao importar documentação Javadoc dentro de projetos de ligação usando a ação de compilação @(JavaSourceJar).
Esta propriedade está definida por defeito para intellisense.
-
intellisense: Emite apenas os comentários XML:<exception/>,<param/>,<returns/>,<summary/>. -
full: Emitir elementos listadosintellisense, bem como<remarks/>,<seealso/>, e qualquer outra coisa que seja suportada.