Embeddinator-4000 est un outil permettant de transformer les bibliothèques .NET existantes en bibliothèques pouvant être utilisées par d'autres langages.
Il s'agit d'un outil qui prend un assemblage .NET et génère la colle nécessaire pour faire apparaître l'API .NET en tant qu'API native. L'objectif est de présenter les bibliothèques .NET à tous les écosystèmes où s'exécutent Mono/Xamarin, et pour chaque plate-forme, nous fournissons une interface native à cette plate-forme ainsi que les outils nécessaires pour transformer une bibliothèque .NET en quelque chose qui peut être consommé sur cette plateforme.
Actuellement, il existe une prise en charge de .NET vers C, Objective-C (sur les différentes plates-formes Apple) et Java (Android et Java standard), sur les plates-formes Windows, Linux et macOS.
Consultez notre documentation pour commencer.
N'hésitez pas à nous rejoindre sur notre canal de discussion Gitter #managed-interop.
git submodule update --recursive --init
Embeddinator-4000.sln
avec Visual Studio ou Visual Studio For MacSi vous préférez créer à partir de la ligne de commande, Cake ou Make peut être utilisé pour créer à la place de Visual Studio For Mac.
Les parties Android/C du projet peuvent également être construites avec Cake à l'aide des scripts build.ps1 / build.sh.
Sous OS X, vous pouvez configurer votre environnement pour Android en exécutant un script shell :
./build.sh -t Generate-Android -v diagnostic
Sous Windows, en Powershell :
.build.ps1 -t Generate-Android -v diagnostic
Cela téléchargera une version principale de Xamarin.Android et l’extraira dans /external/Xamarin.Android
.
Embeddinator-4000.exe
sera compilé dans build/lib/Release
. Le script Cake exécutera également Embeddinator sur un assembly de test, afin que vous puissiez être sûr que votre système est correctement configuré.
Les parties Objective-C du projet peuvent être construites avec make
in objcgen
.
Pour générer le nuget, on peut utiliser l'un ou l'autre (ils invoquent tous deux le même processus de construction) :
make nuget
dans objcgen
./build.sh -t Create-Package
La documentation de démarrage présente l'utilisation de base d'Embeddinator.
Plus de détails sur les invocations spécifiques à la plate-forme peuvent être trouvés ici.
Le guide de contribution couvre un certain nombre de domaines à prendre en compte lors de la contribution à Embeddinator-4000.
Il existe un certain nombre de fichiers de documentation interne décrivant le projet et la structure interne d'Embeddinator :