MSBuild proje bağlama özellikleri

Uyarı

Android için .NET'te teknik olarak bir uygulama ile bağlama projesi arasında ayrım yoktur, bu nedenle bu özellikler her ikisinde de çalışır. Uygulamada ayrı uygulama ve bağlama projeleri oluşturmanız kesinlikle önerilir. Öncelikli olarak uygulama projelerinde kullanılan derleme özellikleri, MSBuild özellikleri başvuru kılavuzunda belgelenmiştir.

Yapı özellikleri

Mülkiyet Varsayılan Açıklama
AndroidBoundInterfacesContainConstants true Arabirimlerdeki bağlama sabitlerinin desteklenip desteklenmeyeceğini veya eski yöntem olarak bir IMyInterfaceConsts sınıfı oluşturmanın kullanılıp kullanılmayacağını belirten bir boolean özelliği.

Dokümantasyon
AndroidBoundInterfacesContainStatic
AndDefaultInterfaceMethods
true Arabirimlerde varsayılan ve statik üyelerin desteklenip desteklenmeyeceklerini belirten boole özelliği veya gibi abstract class MyInterface statik üyeler içeren eşdüzey bir sınıf oluşturmanın eski geçici çözümü kullanılacaktır.

Dokümantasyon
AndroidBoundInterfacesContainTypes true Arabirimlerde iç içe yerleştirilmiş türlerin desteklenip desteklenmeyeceklerini belirten boole özelliği veya gibi IMyInterfaceMyNestedClass iç içe olmayan bir tür oluşturmanın eski geçici çözümü kullanılacaktır.

Dokümantasyon
AndroidEnableObsoleteOverrideInheritance
.NET 8'de eklendi
true Java yöntemlerini geçersiz kılan @Deprecated bağlı yöntemlerin otomatik olarak @Deprecated işaretlenip işaretlenmediğini belirten bir boolean özelliği.

Dokümantasyon
AndroidEnableRestrictToAttributes
.NET 8'de eklendi
obsolete geçerli değerleri obsolete ve disable olan ve bir Java kitaplığında @RestrictTo ile işaretlenmiş bağlı API'ye [Obsolete] .NET özniteliğinin eklenip eklenmediğini belirten bir numaralandırma stili özelliği.

Dokümantasyon
AndroidJavadocVerbosity intellisense Geçerli değerlere intellisense ve full sahip bir numaralandırma stili özelliği, Javadoc belgelerini bağlama projelerinde C# XML Belgeleri Açıklamalarını "ayrıntılı çıktılar" ile nasıl içeri aktaracağınızı belirler ve bu işlem @(JavaSourceJar) oluşturma eylemiyle yapılır.

Dokümantasyon

AndroidBoundInterfacesSabitlerİçerir

Arabirimlerdeki bağlama sabitlerinin desteklenip desteklenmediğini veya sınıf oluşturmanın eski geçici çözümünün kullanılıp kullanılmayacağını belirten boole IMyInterfaceConsts özelliği.

Varsayılan değer true değeridir.

Bu yalnızca C# 8 yayımlanmadan önce oluşturulan eski bağlama kitaplığıyla genel API uyumluluğunu korumaya çalışırken önerilir.

Diğer ayrıntılar

AndroidBağlıArabirimlerStatikVeVarsayılanArabirimYöntemleriniİçerir

Arabirimlerde varsayılan ve statik üyelerin desteklenip desteklenmeyeceğini veya abstract class MyInterface gibi statik üyeleri içeren bir eşdüzey sınıf oluşturarak eski geçici çözümün kullanılıp kullanılmayacağını belirten bir Boolean özelliği.

Varsayılan değer true değeridir.

Bu yalnızca C# 8 yayımlanmadan önce oluşturulan eski bağlama kitaplığıyla genel API uyumluluğunu korumaya çalışırken önerilir.

Diğer ayrıntılar

AndroidBağlıArayüzlerTürleriİçerir

Arabirimler içinde yer alan türlerin desteklenip desteklenmeyeceğini veya IMyInterfaceMyNestedClass gibi iç içe olmayan bir tür oluşturmanın eski bir geçici çözüm olarak kullanılıp kullanılmayacağını belirten bir Boolean özelliğidir.

Varsayılan değer true değeridir.

Bu yalnızca C# 8 yayımlanmadan önce oluşturulan eski bağlama kitaplığıyla genel API uyumluluğunu korumaya çalışırken önerilir.

Diğer ayrıntılar

AndroidEnableRestrictToAttributes (AndroidÖzniteliklereKısıtlamaGetir)

Net geçerlik değerleri obsolete ve disable olan bir numaralandırma stili özelliği, bir Java kütüphanesinde @RestrictTo ile işaretlenmiş bağlanmış API'ye .NET [Obsolete] özniteliğinin eklenip eklenmeyeceğini kontrol eder.

Bu özellik varsayılan olarak olarak obsolete ayarlanır.

obsolete ayarlandığında, Java ek açıklamasıyla androidx.annotation.RestrictTo işaretlenmiş veya dışa ihraç edilmemiş Java paketlerinde bulunan türler ve üyeler C# bağlamasında bir [Obsolete] öznitelikle işaretlenir.

Bu [Obsolete] öznitelik, Java paketi sahibinin API'yi "iç" olarak kabul ettiğini ve kullanımına karşı uyardığını açıklayan açıklayıcı bir iletiye sahiptir.

Bu öznitelik, "normal" eski API'den bağımsız olarak gizlenebilmesi için özel bir uyarı koduna XAOBS001 da sahiptir.

olarak ayarlandığında disable, API ek öznitelik olmadan normal şekilde oluşturulur. (Bu, .NET 8'in önceki davranışıyla aynıdır.)

API'nin mevcut paketlerle uyumluluğunu korumak için API'yi otomatik olarak kaldırmak yerine öznitelik ekleme [Obsolete] işlemi yapıldı. Bunun yerine, ek açıklamaya sahip olan veya dışarı aktarılmayan @RestrictTo Java paketlerinde yer alan üyeleri kaldırmayı tercih ederseniz, bu türlerin bağlanmasını önlemek için bu özelliğe ek olarak meta verileri de kullanabilirsiniz:

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

Bu özellik için destek .NET 8'e eklendi.

AndroidKullanımDışıGeçersizKılmaMirasAlmaAktifleştirme

Java yöntemlerini geçersiz kılan @Deprecated bağlı yöntemlerin otomatik olarak @Deprecated işaretlenip işaretlenmediğini belirleyen boole özelliği.

Bu özelliği değiştirmek çok nadiren gereklidir.

Bu özellik için destek .NET 8'e eklendi.

AndroidJavadocVerbosity

Bağlama projelerinde Javadoc belgelerini içe aktarırken intellisense ve full gibi geçerli değerlere sahip bir numaralandırma stili özelliği, C# XML Belgelendirme Yorumları'nın "ayrıntılı" olma seviyesini @(JavaSourceJar) derleme eylemi kullanılarak belirler.

Bu özellik varsayılan olarak olarak intellisense ayarlanır.