Bindingprojecten MSBuild-eigenschappen

Opmerking

In .NET voor Android is er technisch gezien geen onderscheid tussen een toepassing en een bindingsproject, zodat deze eigenschappen in beide werken. In de praktijk wordt het ten zeerste aanbevolen om afzonderlijke toepassings- en bindingsprojecten te maken. Build-eigenschappen die voornamelijk worden gebruikt in toepassingsprojecten, worden beschreven in de referentiehandleiding voor MSBuild-eigenschappen .

Bouw-eigenschappen

Vastgoed Verstek Beschrijving
AndroidBoundInterfacesContainConstants true Een booleaanse eigenschap die aangeeft of bindingsconstanten op interfaces worden ondersteund of als de verouderde tijdelijke oplossing voor het maken van een IMyInterfaceConsts klasse wordt gebruikt.

Documentatie
AndroidBoundInterfacesContainStatic
AndDefaultInterfaceMethods
true Een booleaanse eigenschap die aangeeft of standaard- en statische leden op interfaces worden ondersteund, of de verouderde tijdelijke oplossing voor het maken van een klasse op hetzelfde niveau die statische leden bevat, zoals abstract class MyInterface wordt gebruikt.

Documentatie
AndroidBoundInterfacesContainTypes true Een booleaanse eigenschap die aangeeft of typen die in interfaces genest zijn, worden ondersteund of dat de legacy-aanpak voor het maken van een niet-genest type, zoals IMyInterfaceMyNestedClass, wordt gebruikt.

Documentatie
AndroidEnableObsoleteOverrideInheritance
Toegevoegd in .NET 8
true Een booleaanse eigenschap die aangeeft of afhankelijke methoden die Java-methoden overschrijven @Deprecated , automatisch worden gemarkeerd als @Deprecated.

Documentatie
AndroidEnableRestrictToAttributes
Toegevoegd in .NET 8
obsolete Een enum-style-eigenschap met geldige waarden van obsolete en disable die aangeeft of het .NET-kenmerk [Obsolete] wordt toegevoegd aan de afhankelijke API die is gemarkeerd @RestrictTo in een Java-bibliotheek.

Documentatie
AndroidJavadocVerbosity intellisense Een enum-stijleigenschap met geldige waarden intellisense en full die aangeeft hoe uitgebreide C# XML-documentatieopmerkingen moeten zijn bij het importeren van Javadoc-documentatie in bindingsprojecten met behulp van de @(JavaSourceJar) build-actie.

Documentatie

Android-gebonden interfaces bevatten constanten

Een booleaanse eigenschap die aangeeft of bindingsconstanten op interfaces worden ondersteund of als de verouderde tijdelijke oplossing voor het maken van een IMyInterfaceConsts klasse wordt gebruikt.

De standaardwaarde is true.

Dit wordt alleen aanbevolen als u probeert de compatibiliteit van openbare API's te behouden met een verouderde bindingsbibliotheek die is gemaakt voordat C# 8 werd uitgebracht.

Meer informatie

AndroidGebondenInterfacesBevattenStaticheEnStandaardInterfaceMethodes

Een booleaanse eigenschap die aangeeft of standaard- en statische leden op interfaces worden ondersteund, of dat de verouderde tijdelijke oplossing van het maken van een klasse op hetzelfde niveau die statische leden zoals abstract class MyInterface bevat, wordt gebruikt.

De standaardwaarde is true.

Dit wordt alleen aanbevolen als u probeert de compatibiliteit van openbare API's te behouden met een verouderde bindingsbibliotheek die is gemaakt voordat C# 8 werd uitgebracht.

Meer informatie

AndroidBoundInterfacesBevattenTypes

Een booleaanse eigenschap die specificeert of typen die genest zijn in interfaces worden ondersteund, of dat de verouderde oplossing om een niet-genest type zoals IMyInterfaceMyNestedClass te maken, wordt gebruikt.

De standaardwaarde is true.

Dit wordt alleen aanbevolen als u probeert de compatibiliteit van openbare API's te behouden met een verouderde bindingsbibliotheek die is gemaakt voordat C# 8 werd uitgebracht.

Meer informatie

AndroidEnableRestrictToAttributes

Een eigenschap van het type enum met geldige waarden obsolete en disable die bepaalt of het .NET-kenmerk [Obsolete] wordt toegevoegd aan de gekoppelde API die met @RestrictTo is gemarkeerd in een Java-bibliotheek.

Deze eigenschap is standaard ingesteld op obsolete.

Als dit is ingesteld obsoleteop, worden typen en leden die zijn gemarkeerd met de Java-aantekening androidx.annotation.RestrictToof in niet-geëxporteerde Java-pakketten gemarkeerd met een [Obsolete] kenmerk in de C#-binding.

Dit [Obsolete] kenmerk heeft een beschrijvend bericht waarin wordt uitgelegd dat de eigenaar van het Java-pakket de API 'intern' beschouwt en waarschuwt voor het gebruik ervan.

Dit kenmerk heeft ook een aangepaste waarschuwingscode XAOBS001 zodat het onafhankelijk van de "normale" verouderde API kan worden onderdrukt.

Wanneer deze is ingesteld disableop, wordt de API gegenereerd als normaal zonder extra kenmerken. (Dit is hetzelfde gedrag als vóór .NET 8.)

Door kenmerken toe te voegen [Obsolete] in plaats van de API automatisch te verwijderen, is de API-compatibiliteit met bestaande pakketten behouden. Als u in plaats daarvan liever leden verwijdert die de @RestrictTo aantekening hebben of zich in niet-geëxporteerde Java-pakketten bevinden, kunt u naast deze eigenschap metagegevens gebruiken om te voorkomen dat deze typen worden gebonden:

<remove-node path="//*[@annotated-visibility]" />

Ondersteuning voor deze eigenschap is toegevoegd in .NET 8.

AndroidEnableObsoleteOverrideInheritance

Een booleaanse eigenschap die aangeeft of afhankelijke methoden die Java-methoden overschrijven @Deprecated , automatisch worden gemarkeerd als @Deprecated.

Het komt uiterst zelden voor dat deze eigenschap gewijzigd moet worden.

Ondersteuning voor deze eigenschap is toegevoegd in .NET 8.

AndroidJavadocVerbosity

Een enum-stijleigenschap met geldige waarden intellisense en full die aangeeft hoe uitgebreide C# XML-documentatieopmerkingen moeten zijn bij het importeren van Javadoc-documentatie in bindingsprojecten met behulp van de @(JavaSourceJar) build-actie.

Deze eigenschap is standaard ingesteld op intellisense.