Freigeben über


Verknüpfen von Projekten mit MSBuild-Elementen

Hinweis

In .NET für Android gibt es technisch keine Unterscheidung zwischen einer Anwendung und einem Bindungsprojekt, sodass diese Elemente in beiden funktionieren. In der Praxis wird dringend empfohlen, separate Anwendungs- und Bindungsprojekte zu erstellen. Buildelemente, die in erster Linie in Anwendungsprojekten verwendet werden, werden im Referenzhandbuch für MSBuild-Elemente dokumentiert.

Buildelemente

Artikel Beschreibung
AndroidAdditionalJavaManifest
Hinzugefügt in .NET 9
Stellt zusätzliche POM-Dateien dar, die zum Überprüfen von Java-Abhängigkeiten erforderlich sind.

Dokumentation
AndroidIgnoredJavaDependency
Hinzugefügt in .NET 9
Stellt eine Java-Abhängigkeit dar, die beim Überprüfen der Java-Abhängigkeit ignoriert werden soll.

Dokumentation
AndroidJavaSource Stellt Java-Quelldateien (.java) dar, die kompiliert und in das Projekt einbezogen werden sollen.

Dokumentation
AndroidLibrary Stellt eine .jar/.aar Datei dar, die an das Bindungsprojekt gebunden werden soll.

Dokumentation
AndroidMavenLibrary
Hinzugefügt in .NET 9
Stellt eine .jar/.aar Datei dar, die aus einem Maven-Repository heruntergeladen und an das Bindungsprojekt gebunden werden soll.

Dokumentation
AndroidNamespaceReplacement Stellt eine Transformation dar, die auf einen Java-Paketnamen angewendet werden soll, um den resultierenden verwalteten Namespace besser an .NET-Konventionen anzupassen.

Dokumentation
JavaSourceJar Stellt einen Java-Quellcode .jar dar, aus dem die API-Dokumentation importiert werden soll.

Dokumentation

Veraltete Buildelemente

Diese MSBuild-Elemente sind veraltet. Während sie weiterhin funktionieren, empfiehlt es sich, zu den aufgelisteten neueren Elementen zu migrieren.

Artikel Beschreibung
AndroidAarLibrary
Veraltet
Stellt eine Android-Datei .aar dar, die in die Projektausgabe einbezogen werden soll.

Dokumentation
AndroidJavaLibrary
Veraltet
Stellt eine Android-Datei .jar dar, die in die Projektausgabe einbezogen werden soll.

Dokumentation
EmbeddedJar
Veraltet
Stellt eine Android-Datei .jar dar, die gebunden und in der Projektausgabe enthalten sein soll.

Dokumentation
EmbeddedReferenceJar
Veraltet
Stellt eine Android-Datei .jar dar, die in die Projektausgabe einbezogen werden soll.

Dokumentation
LibraryProjectZip
Veraltet
Stellt eine Android-Datei .aar dar, die in die Projektausgabe einbezogen werden soll.

Dokumentation

AndroidAarLibrary

Dieses Buildelement ist veraltet und wird durch das AndroidLibrary-Element ersetzt.

<!-- Deprecated -->
<AndroidAarLibrary Include="mylib.aar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.aar" />

Die Buildaktion von AndroidAarLibrary sollte verwendet werden, um direkt auf .aar-Dateien zu verweisen. Diese Buildaktion wird am häufigsten von Xamarin-Komponenten verwendet. Nämlich, um Verweise auf .aar Dateien einzuschließen, die erforderlich sind, damit Google Play und andere Dienste funktionieren.

Dateien mit dieser Buildaktion werden ähnlich behandelt wie die eingebetteten Ressourcen in Bibliotheksprojekten. Die .aar-Datei wird in das Zwischenverzeichnis extrahiert. Danach werden Objekte, Ressourcen und .jar-Dateien in die entsprechenden Elementgruppen eingefügt.

AndroidZusätzlichesJavaManifest

<AndroidAdditionalJavaManifest> wird in Verbindung mit der Java-Abhängigkeitsauflösung verwendet.

Es wird verwendet, um zusätzliche POM-Dateien anzugeben, die zum Überprüfen von Abhängigkeiten erforderlich sind. Dies sind häufig übergeordnete oder importierte POM-Dateien, auf die von der POM-Datei einer Java-Bibliothek verwiesen wird.

<ItemGroup>
  <AndroidAdditionalJavaManifest Include="mylib-parent.pom" JavaArtifact="com.example:mylib-parent" JavaVersion="1.0.0" />
</ItemGroup>
Elementmetadatenname Beschreibung
JavaArtifact Erforderliche Zeichenfolge. Die Gruppen- und Artefakt-ID der Java-Bibliothek, die der angegebenen POM-Datei im Formular {GroupId}:{ArtifactId}entspricht.
JavaVersion Erforderlicher String. Die Version der Java-Bibliothek, die der angegebenen POM-Datei entspricht.

Weitere Details finden Sie in der Dokumentation zur Java-Abhängigkeitsauflösung.

Unterstützung für dieses Buildelement wurde in .NET 9 eingeführt.

AndroidIgnoredJavaDependency

<AndroidIgnoredJavaDependency> wird in Verbindung mit der Java-Abhängigkeitsauflösung verwendet.

Es wird verwendet, um eine Java-Abhängigkeit anzugeben, die ignoriert werden soll. Dies kann verwendet werden, wenn eine Abhängigkeit so erfüllt wird, dass die Java-Abhängigkeitsauflösung nicht erkannt werden kann.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidIgnoredJavaDependency Include="com.google.errorprone:error_prone_annotations" Version="2.15.0" />
</ItemGroup>
Elementmetadatenname Beschreibung
Version Erforderliche Zeichenfolge. Die Version der Java-Bibliothek, die der angegebenen Abhängigkeit entspricht.

Weitere Details finden Sie in der Dokumentation zur Java-Abhängigkeitsauflösung.

Unterstützung für dieses Buildelement wurde in .NET 9 eingeführt.

AndroidJavaLibrary

Dieses Buildelement ist veraltet und wird durch das AndroidLibrary-Element ersetzt.

<!-- Deprecated -->
<AndroidJavaLibrary Include="mylib.jar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" />

Dateien mit einer Buildaktion AndroidJavaLibrary sind Java Archives ( .jar Dateien), die im endgültigen Android-Paket enthalten sein werden.

AndroidJavaSource

AndroidJavaSource Dateien sind Java-Quellcode, der kompiliert und im endgültigen Android-Paket enthalten ist.

Ab .NET 7 verfügen alle **\*.java-Dateien im Projektverzeichnis automatisch über eine Build-Aktion von AndroidJavaSource, und werden vor dem Assembly-Build gebunden. Ermöglicht C#-Code die einfache Verwendung von Typen und Elementen, die in den **\*.java Dateien vorhanden sind.

Elementmetadatenname Beschreibung
Binden Optionaler boolescher Wert. Gibt an, ob für die Java-Quelldatei eine C#-Bindung generiert werden soll. Wird standardmäßig auf true festgelegt.

Unterstützung für dieses Buildelement wurde in .NET 7 eingeführt.

AndroidLibrary

Stellt eine .jar/.aar Datei dar, die gebunden und in das Projekt eingeschlossen werden soll.

<ItemGroup>
  <AndroidLibrary Include="foo.jar" />
  <AndroidLibrary Include="bar.aar" />
</ItemGroup>
Elementmetadatenname Beschreibung
Binden Optionaler boolescher Wert. Gibt an, ob für die Java-Bibliothek eine C#-Bindung generiert werden soll. Wird standardmäßig auf true festgelegt.
Paket Optionaler boolescher Wert. Gibt an, ob die Java-Bibliothek in die Projektausgabe einbezogen werden soll. Wird standardmäßig auf true festgelegt.

AndroidMavenLibrary

Stellt eine .jar/.aar Datei dar, die aus einem Maven-Repository heruntergeladen und an das Bindungsprojekt gebunden werden soll.

Dies kann hilfreich sein, um die Wartung von .NET für Android-Bindungen für Artefakte zu vereinfachen, die in Maven gehostet werden.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
Elementmetadatenname Beschreibung
Version Erforderliche Zeichenfolge. Die Version der Java-Bibliothek, die von Maven heruntergeladen werden soll. Wird standardmäßig auf true festgelegt.
Repository Optionale Zeichenfolge. Gibt das zu verwendende Maven-Repository an. Unterstützte Werte sind Central, Googleoder eine https URL zu einem Maven-Repository. Wird standardmäßig auf Central festgelegt.
Binden Optionaler boolescher Wert. Gibt an, ob für die Java-Bibliothek eine C#-Bindung generiert werden soll. Wird standardmäßig auf true festgelegt.
Paket Optionaler boolescher Wert. Gibt an, ob die Java-Bibliothek in die Projektausgabe einbezogen werden soll. Wird standardmäßig auf true festgelegt.

Weitere Details finden Sie in der AndroidMavenLibrary-Dokumentation .

Unterstützung für dieses Buildelement wurde in .NET 9 eingeführt.

EmbeddedJar

Dieses Buildelement ist veraltet und wird durch das AndroidLibrary-Element ersetzt.

<!-- Deprecated -->
<EmbeddedJar Include="mylib.jar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" />

In einem .NET für Android-Bindungsprojekt bindet die EmbeddedJar-Buildaktion die Java/Kotlin-Bibliothek und bettet die .jar Datei in die Bibliothek ein. Wenn ein .NET für Android-Anwendungsprojekt die Bibliothek nutzt, hat es Zugriff auf die Java/Kotlin-APIs von C# und integriert den Java/Kotlin-Code in die endgültige Android-Anwendung.

EmbeddedReferenceJar

Dieses Buildelement ist veraltet und wird durch das AndroidLibrary-Element ersetzt, wobei die Bind-Metadaten auf false gesetzt sind.

<!-- Deprecated -->
<EmbeddedReferenceJar Include="mylib.jar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.jar" Bind="false" />

In einem .NET für Android-Bindungsprojekt bettet die Build-Aktion EmbeddedReferenceJar die .jar Datei in die Bibliothek ein, erstellt jedoch keine C#-Bindung wie EmbeddedJar. Wenn ein .NET für Android-Anwendungsprojekt die Bibliothek nutzt, enthält es den Java/Kotlin-Code in die endgültige Android-Anwendung.

JavaSourceJar

Stellt einen Java-Quellcode dar, der Javadoc-Dokumentationskommentare.jar, aus denen die API-Dokumentation importiert werden soll.

Javadoc wird in C#-XML-Dokumentationskommentare im generierten Bindungsquellcode konvertiert.

$(AndroidJavadocVerbosity) steuert, wie ausführlich oder vollständig die importierte Javadoc-Dokumentation ist.

Elementmetadatenname Beschreibung
CopyrightFile Optionale Zeichenfolge. Ein Pfad zu einer Datei, die Copyrightinformationen für die Javadoc-Inhalte enthält, die an alle importierten Dokumentationen angefügt werden.
UrlPrefix Optionale Zeichenfolge. Ein URL-Präfix zur Unterstützung der Verknüpfung mit der Onlinedokumentation innerhalb der importierten Dokumentation.
UrlStyle Optionale Zeichenfolge. Der "Stil" der URLs, die beim Verlinken zu der Onlinedokumentation generiert werden sollen. Derzeit wird nur ein Stil unterstützt: developer.android.com/reference@2020-Nov.
DocRootUrl Optionale Zeichenfolge. Ein URL-Präfix, das anstelle aller {@docroot} Instanzen in der importierten Dokumentation verwendet werden soll.

LibraryProjectZip

Dieses Buildelement ist veraltet und wird durch das AndroidLibrary-Buildelement ersetzt.

<!-- Deprecated -->
<LibraryProjectZip Include="mylib.aar" />

<!-- Recommended -->
<AndroidLibrary Include="mylib.aar" />

Die LibraryProjectZip-Buildaktion bindet die Java- oder Kotlin-Bibliothek und bettet entweder die .zip- oder die .aar-Datei in die Bibliothek ein. Wenn ein .NET für Android-Anwendungsprojekt die Bibliothek nutzt, hat es Zugriff auf die Java/Kotlin-APIs von C# und integriert den Java/Kotlin-Code in die endgültige Android-Anwendung.