Liaison des éléments de projets MSBuild

Remarque

Dans .NET pour Android, il n’existe techniquement aucune distinction entre une application et un projet de liaisons. Ces éléments fonctionnent donc dans les deux. Dans la pratique, il est vivement recommandé de créer des projets d’application et de liaisons distincts. Les éléments de construction qui sont principalement utilisés dans les projets d'application sont documentés dans le guide de référence des éléments MSBuild.

Éléments de compilation

Élément Description
AndroidAdditionalJavaManifest
Ajouté dans .NET 9
Représente des fichiers POM supplémentaires nécessaires pour vérifier les dépendances Java.

Documentation
AndroidIgnoredJavaDependency
Ajouté dans .NET 9
Représente une dépendance Java qui doit être ignorée lors de la vérification de la dépendance Java.

Documentation
AndroidJavaSource Représente les fichiers sources Java (.java) qui doivent être compilés et inclus dans le projet.

Documentation
AndroidLibrary Représente un .jar/.aar fichier à lier par le projet de liaisons.

Documentation
AndroidMavenLibrary
Ajouté dans .NET 9
Représente un .jar/.aar fichier qui doit être téléchargé à partir d’un référentiel Maven et lié par le projet de liaisons.

Documentation
AndroidNamespaceReplacement Représente une transformation qui doit être appliquée à un nom de package Java pour rendre l’espace de noms managé obtenu mieux adapté aux conventions .NET.

Documentation
JavaSourceJar Représente un code source à partir duquel la documentation de l’API doit être importée.

Documentation

Éléments de build déconseillés

Ces éléments MSBuild ont été déconseillés. Bien qu’ils continuent à fonctionner, il est recommandé de migrer vers les éléments plus récents répertoriés.

Élément Description
AndroidAarLibrary
Dépréciée
Représente un fichier Android .aar à inclure dans la sortie du projet.

Documentation
AndroidJavaLibrary
Dépréciée
Représente un fichier Android .jar à inclure dans la sortie du projet.

Documentation
EmbeddedJar
Dépréciée
Représente un fichier Android .jar à lier et inclus dans la sortie du projet.

Documentation
EmbeddedReferenceJar
Dépréciée
Représente un fichier Android .jar à inclure dans la sortie du projet.

Documentation
LibraryProjectZip
Dépréciée
Représente un fichier Android .aar à inclure dans la sortie du projet.

Documentation

Android Aar Library

Cet élément de build est déconseillé et remplacé par l’élément AndroidLibrary .

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

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

L’action Build de AndroidAarLibrary doit être utilisée pour référencer directement les fichiers .aar. L'action de génération sera le plus souvent utilisée par les composants Xamarin. Il s'agit d'inclure des références aux fichiers .aar nécessaires pour faire fonctionner Google Play et d'autres services.

Les fichiers avec cette action de génération sont traités de manière similaire aux ressources incorporées trouvées dans les projets de bibliothèque. Le .aar fichier sera extrait dans le répertoire intermédiaire. Ensuite, tous les actifs, ressources et .jar fichiers seront inclus dans les groupes d’éléments appropriés.

AndroidAdditionalJavaManifest

<AndroidAdditionalJavaManifest> est utilisé conjointement avec la résolution des dépendances de Java.

Il est utilisé pour spécifier des fichiers POM supplémentaires qui seront nécessaires pour vérifier les dépendances. Il s’agit souvent de fichiers POM parent ou importés référencés par le fichier POM d’une bibliothèque Java.

<ItemGroup>
  <AndroidAdditionalJavaManifest Include="mylib-parent.pom" JavaArtifact="com.example:mylib-parent" JavaVersion="1.0.0" />
</ItemGroup>
Nom des métadonnées de l’élément Description
JavaArtifact Chaîne de caractères obligatoire. Le groupe et l’ID d’artefact de la bibliothèque Java correspondant au fichier POM spécifié dans le formulaire {GroupId}:{ArtifactId}.
JavaVersion Chaîne obligatoire. Version de la bibliothèque Java correspondant au fichier POM spécifié.

Pour plus d’informations, consultez la documentation sur la résolution des dépendances Java.

La prise en charge de cet élément de build a été introduite dans .NET 9.

DépendanceJavaIgnoréeAndroid

<AndroidIgnoredJavaDependency> est utilisé conjointement avec résolution des dépendances Java.

Il est utilisé pour spécifier une dépendance Java qui doit être ignorée. Cela peut être utilisé si une dépendance sera satisfaite d'une manière que le système de résolution de dépendances Java ne peut pas détecter.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidIgnoredJavaDependency Include="com.google.errorprone:error_prone_annotations" Version="2.15.0" />
</ItemGroup>
Nom des métadonnées de l’élément Description
Version Chaîne obligatoire. Version de la bibliothèque Java correspondant à la dépendance spécifiée.

Pour plus d’informations, consultez la documentation sur la résolution des dépendances Java.

La prise en charge de cet élément de build a été introduite dans .NET 9.

AndroidJavaLibrary

Cet élément de build est déconseillé et remplacé par l’élément AndroidLibrary .

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

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

Les fichiers avec une action de génération de type AndroidJavaLibrary sont des archives Java (fichiers .jar) qui seront inclus dans le package Android final.

AndroidJavaSource

AndroidJavaSource les fichiers sont du code source Java qui sera compilé et inclus dans le package Android final.

À compter de .NET 7, tous les fichiers **\*.java du répertoire de projet ont automatiquement une action Build de AndroidJavaSource, et seront pris en compte avant la génération de l’assembly. Permet au code C# d’utiliser facilement des types et des membres présents dans les **\*.java fichiers.

Nom des métadonnées de l’élément Description
Lier Valeur booléenne facultative. Spécifie si le fichier source Java doit avoir une liaison C# générée pour celle-ci. La valeur par défaut est true.

La prise en charge de cet élément de build a été introduite dans .NET 7.

Bibliothèque Android

Représente un .jar/.aar fichier à lier et inclus dans le projet.

<ItemGroup>
  <AndroidLibrary Include="foo.jar" />
  <AndroidLibrary Include="bar.aar" />
</ItemGroup>
Nom des métadonnées de l’élément Description
Lier Valeur booléenne facultative. Spécifie si la bibliothèque Java doit avoir une liaison C# générée pour celle-ci. La valeur par défaut est true.
Pack Valeur booléenne facultative. Spécifie si la bibliothèque Java doit être incluse dans la sortie du projet. La valeur par défaut est true.

Bibliothèque AndroidMaven

Représente un .jar/.aar fichier qui doit être téléchargé à partir d’un référentiel Maven et lié par le projet de liaisons.

Cela peut être utile pour simplifier la maintenance des liaisons .NET pour Android pour les artefacts hébergés dans Maven.

<!-- Include format is {GroupId}:{ArtifactId} -->
<ItemGroup>
  <AndroidMavenLibrary Include="com.squareup.okhttp3:okhttp" Version="4.9.3" />
</ItemGroup>
Nom des métadonnées de l’élément Description
Version Chaîne obligatoire. Version de la bibliothèque Java à télécharger à partir de Maven. La valeur par défaut est true.
Référentiel Chaîne facultative. Spécifie le référentiel Maven à utiliser. Les valeurs prises en charge sont Central, Googleou une https URL vers un référentiel Maven. La valeur par défaut est Central.
Lier Valeur booléenne facultative. Spécifie si la bibliothèque Java doit avoir une liaison C# générée pour celle-ci. La valeur par défaut est true.
Pack Valeur booléenne facultative. Spécifie si la bibliothèque Java doit être incluse dans la sortie du projet. La valeur par défaut est true.

Pour plus d’informations, consultez la documentation AndroidMavenLibrary.

La prise en charge de cet élément de build a été introduite dans .NET 9.

EmbeddedJar

Cet élément de build est déconseillé et remplacé par l’élément AndroidLibrary .

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

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

Dans un projet de liaison .NET pour Android, l’action de génération EmbeddedJar lie la bibliothèque Java/Kotlin et incorpore le .jar fichier dans la bibliothèque. Lorsqu’un projet d’application .NET pour Android consomme la bibliothèque, il aura accès aux API Java/Kotlin à partir de C# et inclura le code Java/Kotlin dans l’application Android finale.

EmbeddedReferenceJar

Cet élément de build est déprécié et remplacé par l'élément AndroidLibrary avec les métadonnées Bind définies sur false.

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

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

Dans un projet de liaison .NET pour Android, l’action de génération EmbeddedReferenceJar incorpore le .jar fichier dans la bibliothèque, mais ne crée pas de liaison C# comme EmbeddedJar . Lorsqu’un projet d’application .NET pour Android consomme la bibliothèque, il inclut le code Java/Kotlin dans l’application Android finale.

JavaSourceJar

Représente un code source Java contenant des commentaires de documentation Javadoc à partir desquels la documentation de l’API doit être importée.

Javadoc sera converti en commentaires de documentation XML C# dans le code source de liaison généré.

$(AndroidJavadocVerbosity) contrôle le degré de "détail" ou de "complétude" du Javadoc importé.

Nom des métadonnées de l’élément Description
CopyrightFile Chaîne facultative. Chemin d’accès à un fichier qui contient des informations sur le droit d’auteur pour le contenu Javadoc, qui sera ajouté à toutes les documentations importées.
Préfixe d'URL Chaîne facultative. Préfixe d’URL pour prendre en charge la liaison à la documentation en ligne dans la documentation importée.
UrlStyle Chaîne facultative. Le « style » des URL à générer lors de la liaison à la documentation en ligne. Un seul style est actuellement pris en charge : developer.android.com/reference@2020-Nov.
DocRootUrl Chaîne facultative. Préfixe d’URL à utiliser à la place de toutes les {@docroot} instances de la documentation importée.

LibraryProjectZip

Cet élément de build est déconseillé et remplacé par l’élément de build AndroidLibrary .

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

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

L’action de build LibraryProjectZip lie la bibliothèque Java/Kotlin et incorpore le fichier .zip ou le fichier .aar dans la bibliothèque. Lorsqu’un projet d’application .NET pour Android consomme la bibliothèque, il aura accès aux API Java/Kotlin à partir de C# et inclura le code Java/Kotlin dans l’application Android finale.