MSBuild projektek tulajdonságainak kötése

Megjegyzés:

Az Androidhoz készült .NET-ben gyakorlatilag nincs különbség az alkalmazások és a kötések között, így ezek a tulajdonságok mindkettőben működni fognak. A gyakorlatban erősen ajánlott külön alkalmazás- és kötésprojekteket létrehozni. Az elsősorban alkalmazásprojektekben használt buildtulajdonságokat az MSBuild tulajdonságok referencia-útmutatója dokumentálja.

Építési tulajdonságok

Ingatlan Alapértelmezett Leírás
AndroidBoundInterfacesContainConstants true boolean típusú tulajdonság, amely meghatározza, hogy a kötési konstansok támogatottak lesznek-e a felületeken, vagy a régi módszer, azaz egy IMyInterfaceConsts osztály létrehozása kerül-e alkalmazásra.

Dokumentáció
AndroidBoundInterfacesContainStatic
AndDefaultInterfaceMethods
true Egy logikai tulajdonság, amely meghatározza, hogy a rendszer támogatja-e az alapértelmezett és statikus tagokat a felületeken, vagy használja a statikus tagokat abstract class MyInterface tartalmazó testvérosztályok létrehozásának régi kerülő megoldását.

Dokumentáció
AndroidBoundInterfacesContainTypes true Egy logikai tulajdonság, amely meghatározza, hogy támogatottak-e az illesztőkbe ágyazott típusok, vagy a nem beágyazott típusok IMyInterfaceMyNestedClass létrehozásának örökölt kerülő megoldása lesz használva.

Dokumentáció
AndroidEnableObsoleteOverrideInheritance
Hozzáadva a .NET 8-hoz
true Logikai tulajdonság, amely meghatározza, hogy a @Deprecated Java-metódusokat felülbíráló kötött metódusok automatikusan meg vannak-e jelölve @Deprecated.

Dokumentáció
AndroidEnableRestrictToAttributes
Hozzáadva a .NET 8-hoz
obsolete Egy enum-stílusú tulajdonság, amelynek érvényes értékei a obsolete és disable, és amely meghatározza, hogy a .NET [Obsolete] attribútum hozzáadva van-e a kötött API-hoz, amely a @RestrictTo-ra van megjelölve egy Java könyvtárban.

Dokumentáció
AndroidJavadocVerbosity intellisense Érvényes értékekkel intellisensefull rendelkező enum stílusú tulajdonság, amely meghatározza, hogy milyen "részletes" C# XML-dokumentációs megjegyzéseknek kell lenniük a Javadoc-dokumentációk kötési projekteken belüli importálásakor a @(JavaSourceJar) buildelési művelettel.

Dokumentáció
GenerateDocumentationFile true Logikai tulajdonság, amely meghatározza, hogy létrejön-e C# XML-dokumentációs fájl a buildelés során, és (csomagoláskor) szerepel-e a létrehozott NuGet-csomagban.

Dokumentáció

AndroidBoundInterfacesContainConstants

boolean típusú tulajdonság, amely meghatározza, hogy a kötési konstansok támogatottak lesznek-e a felületeken, vagy a régi módszer, azaz egy IMyInterfaceConsts osztály létrehozása kerül-e alkalmazásra.

Az alapértelmezett érték a true.

Ez csak akkor ajánlott, ha a C# 8 kiadása előtt létrehozott régi kötéstárral próbálja fenntartani a nyilvános API-kompatibilitást.

További részletek

AndroidKötöttFelületekTartalmaznakStatikusÉsAlapértelmezettFelületiMetódusok

Egy logikai tulajdonság, amely meghatározza, hogy a rendszer támogatja-e az alapértelmezett és a statikus tagokat a felületeken, vagy ha a statikus tagokat abstract class MyInterface tartalmazó testvérosztály létrehozásának régi kerülő megoldását fogja használni.

Az alapértelmezett érték a true.

Ez csak akkor ajánlott, ha a C# 8 kiadása előtt létrehozott régi kötéstárral próbálja fenntartani a nyilvános API-kompatibilitást.

További részletek

AndroidCsatoltFelületekTípusokatTartalmaznak

Egy logikai tulajdonság, amely meghatározza, hogy támogatottak-e az illesztőkbe ágyazott típusok, vagy a nem beágyazott típusok IMyInterfaceMyNestedClass létrehozásának régi kerülő megoldása lesz-e használva.

Az alapértelmezett érték a true.

Ez csak akkor ajánlott, ha a C# 8 kiadása előtt létrehozott régi kötéstárral próbálja fenntartani a nyilvános API-kompatibilitást.

További részletek

AndroidEnableRestrictToAttributes

Egy enum-stílusú tulajdonság érvényes értékekkel obsolete és disable van, amely szabályozza, hogy a .NET [Obsolete] attribútum hozzáadódik-e a @RestrictTo jelöléssel ellátott kötött API-hoz egy Java könyvtárban.

Ez a tulajdonság alapértelmezés szerint be obsolete van állítva.

Ha be obsoletevan állítva, a Java-széljegyzettel androidx.annotation.RestrictTo megjelölt vagy nem exportált Java-csomagokban lévő típusok és tagok egy attribútummal [Obsolete] lesznek megjelölve a C# kötésben.

Ez az [Obsolete] attribútum egy leíró üzenetet tartalmaz, amely elmagyarázza, hogy a Java-csomag tulajdonosa "belsőnek" tekinti az API-t, és figyelmeztet a használatára.

Ez az attribútum egy egyéni figyelmeztető kóddal XAOBS001 is rendelkezik, hogy a "normál" elavult API-tól függetlenül el lehessen tiltani.

Ha be van állítva, az disableAPI a szokásos módon jön létre további attribútumok nélkül. (Ez ugyanaz a viselkedés, mint a .NET 8 előtt.)

Az API automatikus eltávolítása helyett attribútumok hozzáadása [Obsolete] a meglévő csomagokkal való API-kompatibilitás megőrzése érdekében történt. Ha inkább a széljegyzetekkel rendelkező @RestrictTovagy nem exportált Java-csomagokban lévő tagokat szeretné eltávolítani, a tulajdonságon kívül metaadatokkal is megakadályozhatja , hogy ezek a típusok megkötöződjenek:

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

A tulajdonság támogatása a .NET 8-ban lett hozzáadva.

AndroidEnableObsoleteOverrideInheritance

Boolean tulajdonság, amely meghatározza, hogy a @Deprecated Java-metódusokat felülbíráló kötött metódusok automatikusan meg vannak-e jelölve @Deprecated.

Rendkívül ritka, hogy módosítania kell ezt a tulajdonságot.

A tulajdonság támogatása a .NET 8-ban lett hozzáadva.

GenerateDocumentationFile

Logikai tulajdonság, amely meghatározza, hogy létre legyen-e hozva egy C# XML-dokumentációs fájl , és szerepel-e benne a kötési projekt csomagolása során.

Az XML-dokumentáció létrehozása alapértelmezés szerint engedélyezve van a kötési projektekhez. Állítsa be ezt a tulajdonságot úgy, hogy false letiltsa az XML-dokumentáció létrehozását.

AndroidJavadocVerbosity

Érvényes értékekkel intellisensefull rendelkező enum stílusú tulajdonság, amely meghatározza, hogy milyen "részletes" C# XML-dokumentációs megjegyzéseknek kell lenniük a Javadoc-dokumentációk kötési projekteken belüli importálásakor a @(JavaSourceJar) buildelési művelettel.

Ez a tulajdonság alapértelmezés szerint be intellisense van állítva.