プロジェクトのバインディング MSBuild プロパティ

注

.NET for Android では、アプリケーションとバインド プロジェクトの間に技術的に違いがないため、これらのプロパティは両方で機能します。 実際には、個別のアプリケーション プロジェクトとバインド プロジェクトを作成することを強くお勧めします。 主にアプリケーション プロジェクトで使用されるビルド プロパティについては、 MSBuild プロパティ リファレンス ガイドを参照してください。

プロパティをビルドする

プロパティ デフォルト 説明
AndroidBoundInterfacesContainConstants true インターフェイスのバインド定数がサポートされるかどうか、または IMyInterfaceConsts クラスを作成する従来の回避策を使用するかどうかを指定するブール型プロパティ。

ドキュメント
AndroidBoundInterfacesContainStatic
AndDefaultInterfaceMethods
true インターフェイスの既定のメンバーと静的メンバーがサポートされるかどうかを指定するブール型プロパティ、または abstract class MyInterface などの静的メンバーを含む兄弟クラスを作成する従来の回避策が使用されます。

ドキュメント
AndroidBoundInterfacesContainTypes true インターフェイスで入れ子になった型がサポートされるかどうかを指定するブール型プロパティ、または IMyInterfaceMyNestedClass のような入れ子になっていない型を作成する従来の回避策が使用されます。

ドキュメント
AndroidEnableObsoleteOverrideInheritance
.NET 8 で追加
true このブール型プロパティは、@Deprecated という Java メソッドをオーバーライドするバインドされたメソッドが、自動的に @Deprecated としてマークされるかどうかを指定します。

ドキュメント
AndroidEnableRestrictToAttributes
.NET 8 で追加
obsolete Java ライブラリのobsoleteでマークされているバインドされた API に .NET disable 属性を追加するかどうかを指定する、[Obsolete]と@RestrictToの有効な値を持つ列挙スタイルのプロパティ。

ドキュメント
AndroidJavadocVerbosity intellisense ビルド アクションを使用してバインディング プロジェクト内に Javadoc ドキュメントをインポートする際、C# XML ドキュメント コメント@(JavaSourceJar)の「詳細度」を指定する、intellisense および full を有効値とする列挙型スタイルのプロパティです。

ドキュメント
GenerateDocumentationFile true ビルド中に C# XML ドキュメント ファイルを生成するかどうか、および生成された NuGet パッケージに含まれる (パッキング時に) 生成されるかどうかを指定するブール型プロパティ。

ドキュメント

Androidに制約されたインターフェイスは定数を含む

インターフェイスのバインド定数がサポートされるかどうか、または IMyInterfaceConsts クラスを作成する従来の回避策を使用するかどうかを指定するブール型プロパティ。

既定値は true です。

これは、C# 8 がリリースされる前に作成されたレガシ バインディング ライブラリとのパブリック API の互換性を維持しようとする場合にのみ推奨されます。

[詳細]

Androidバウンドインターフェースには静的およびデフォルトのインターフェースメソッドが含まれています

インターフェイスの既定のメンバーと静的メンバーがサポートされるかどうか、または abstract class MyInterface などの静的メンバーを含む兄弟クラスを作成する従来の回避策を使用するかどうかを指定するブール型プロパティ。

既定値は true です。

これは、C# 8 がリリースされる前に作成されたレガシ バインディング ライブラリとのパブリック API の互換性を維持しようとする場合にのみ推奨されます。

[詳細]

AndroidBoundInterfacesContainTypes

インターフェイスで入れ子になった型がサポートされるかどうか、または IMyInterfaceMyNestedClass のような入れ子になっていない型を作成する従来の回避策を使用するかどうかを指定するブール型プロパティ。

既定値は true です。

これは、C# 8 がリリースされる前に作成されたレガシ バインディング ライブラリとのパブリック API の互換性を維持しようとする場合にのみ推奨されます。

[詳細]

AndroidEnableRestrictToAttributes

Java ライブラリでobsoleteでマークされているバインドされた API に .NET disable 属性を追加するかどうかを制御する[Obsolete]と@RestrictToの有効な値を持つ列挙スタイルのプロパティ。

このプロパティは既定で obsolete に設定されています。

obsoleteに設定すると、Java 注釈androidx.annotation.RestrictToor でマークされている型とメンバーがエクスポートされていない Java パッケージ内にある場合は、C# バインドで[Obsolete]属性でマークされます。

この [Obsolete] 属性には、Java パッケージ所有者が API を "内部" と見なし、その使用に対して警告することを説明する説明メッセージが含まれています。

この属性には、"通常の" 古い API とは別に抑制できるように、カスタム警告コード XAOBS001 もあります。

disableに設定すると、API は通常どおりに生成され、追加の属性はありません。 (これは、.NET 8 より前と同じ動作です)。

API を自動的に削除するのではなく、 [Obsolete] 属性を追加することで、既存のパッケージとの API の互換性を維持しました。 代わりに、注釈@RestrictToを持つメンバーまたはエクスポートされていない Java パッケージにあるメンバーを削除したい場合は、このプロパティに加えてmetadataを使用して、これらの型がバインドされないようにすることができます。

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

.NET 8 では、このプロパティのサポートが追加されました。

AndroidEnableObsoleteOverrideInheritance

このブール型プロパティは、@Deprecated という Java メソッドをオーバーライドするバインドされたメソッドが、自動的に @Deprecated としてマークされるかどうかを指定します。

このプロパティを変更する必要は非常にまれです。

.NET 8 では、このプロパティのサポートが追加されました。

GenerateDocumentationFile

バインド プロジェクトのパッキング時に C# XML ドキュメント ファイル を生成して含めるかどうかを指定するブール型プロパティ。

XML ドキュメントの生成は、プロジェクトのバインドに対して既定で有効になっています。 XML ドキュメントの生成を無効にするには、このプロパティを false に設定します。

AndroidJavadocVerbosity

ビルド アクションを使用してバインディング プロジェクト内に Javadoc ドキュメントをインポートする際、C# XML ドキュメント コメント@(JavaSourceJar)の「詳細度」を指定する、intellisense および full を有効値とする列挙型スタイルのプロパティです。

このプロパティは既定で intellisense に設定されています。