系結專案 MSBuild 屬性
注意
在適用於 Android 的 .NET 中,應用程式與系結項目在技術上沒有區別,因此這些屬性會在兩者中運作。 在實務上,強烈建議建立個別的應用程式和系結專案。 主要用於應用程式專案中的組建屬性記載於 MSBuild 屬性 參考指南中。
組建屬性
屬性 | 預設 | 描述 |
---|---|---|
AndroidBoundInterfacesContainConstants |
true |
布爾值屬性,指定是否支援介面上的系結常數,或是使用建立 IMyInterfaceConsts 類別的舊版因應措施。文件 |
AndroidBoundInterfacesContainStatic AndDefaultInterfaceMethods |
true |
布爾值屬性,指定介面上是否支援預設和靜態成員,或使用類似 的 abstract class MyInterface 靜態成員建立同層級類別的舊版因應措施。文件 |
AndroidBoundInterfacesContainTypes |
true |
布爾值屬性,指定是否支援介面中的巢狀類型,或使用類似 建立 IMyInterfaceMyNestedClass 非巢狀類型的舊版因應措施。文件 |
AndroidEnableObsoleteOverrideInheritance 在 .NET 8 中新增 |
true |
布林值屬性,指定覆寫 @Deprecated Java 方法的系結方法是否會自動標示為 @Deprecated 。文件 |
AndroidEnableRestrictToAttributes 在 .NET 8 中新增 |
obsolete |
具有有效值的 obsolete 列舉樣式屬性,指定 disable .NET [Obsolete] 屬性是否新增至Java連結庫中以 @RestrictTo 標記的系結 API。文件 |
AndroidJavadocVerbosity |
intellisense |
具有有效值的intellisense 列舉樣式屬性,指定full 使用@(JavaSourceJar) 建置動作在系結專案中匯入 Javadoc 檔時,應該如何「詳細資訊」C# XML 檔批注。文件 |
AndroidBoundInterfacesContainConstants
布爾值屬性,指定是否支援介面上的系結常數,或是使用建立 IMyInterfaceConsts
類別的舊版因應措施。
預設值是 true
。
只有在嘗試維護與發行 C# 8 之前所建立舊版系結連結庫的公用 API 相容性時,才建議這麼做。
AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods
布爾值屬性,指定是否支援介面上的預設值和靜態成員,或如果使用類似 的 abstract class MyInterface
靜態成員建立同層級類別的舊版因應措施。
預設值是 true
。
只有在嘗試維護與發行 C# 8 之前所建立舊版系結連結庫的公用 API 相容性時,才建議這麼做。
AndroidBoundInterfacesContainTypes
布爾值屬性,指定是否支援介面中的巢狀類型,或是使用類似 建立 IMyInterfaceMyNestedClass
非巢狀類型的舊版因應措施。
預設值是 true
。
只有在嘗試維護與發行 C# 8 之前所建立舊版系結連結庫的公用 API 相容性時,才建議這麼做。
AndroidEnableRestrictToAttributes
具有有效值的 obsolete
列舉樣式屬性,且 disable
會控制 .NET [Obsolete]
屬性是否新增至 Java 連結庫中以 @RestrictTo
標記的系結 API。
這個屬性預設會設定為 obsolete
。
當設定為 obsolete
時,以 Java 批註androidx.annotation.RestrictTo
標記或未匯出的 Java 套件中的類型和成員,將會以 [Obsolete]
C# 系結中的 屬性標示。
此屬性 [Obsolete]
有描述性訊息,說明 Java 套件擁有者會將 API 視為「內部」,並對其使用發出警告。
此屬性也有自定義警告程序代碼 XAOBS001
,因此可以獨立於「一般」過時的 API 進行隱藏。
當設定為 disable
時,API 會以一般方式產生,而且沒有額外的屬性。 (這與 .NET 8 之前的行為相同。
新增 [Obsolete]
屬性,而不是自動移除 API,以保留與現有套件的 API 相容性。 如果您寧願移除具有註釋的成員,或是在未匯出的 Java 套件中,除了此屬性之外,您還可以使用元數據來防止這些類型系結:@RestrictTo
<remove-node path="//*[@annotated-visibility]" />
.NET 8 已新增此屬性的支援。
AndroidEnableObsoleteOverrideInheritance
布林值屬性,指定覆寫 @Deprecated
Java 方法的系結方法是否會自動標示為 @Deprecated
。
非常罕見地需要變更這個屬性。
.NET 8 已新增此屬性的支援。
AndroidJavadocVerbosity
具有有效值的intellisense
列舉樣式屬性,指定full
使用@(JavaSourceJar)
建置動作在系結專案中匯入 Javadoc 檔時,應該如何「詳細資訊」C# XML 檔批注。
這個屬性預設會設定為 intellisense
。
intellisense
:只發出 XML 批注:<exception/>
、、<returns/>
<param/>
、<summary/>
。full
:發出列出的intellisense
專案,以及<remarks/>
、<seealso/>
,以及支援的任何其他專案。