Embeddinator-4000 — это инструмент, позволяющий превратить существующие библиотеки .NET в библиотеки, которые могут использоваться другими языками.
Это инструмент, который берет сборку .NET и генерирует необходимое связующее звено, чтобы представить API .NET как собственный API. Цель состоит в том, чтобы предоставить библиотеки .NET всем экосистемам, где работают Mono/Xamarin, и для каждой платформы мы предоставляем собственный интерфейс для этой платформы, а также инструменты, необходимые для превращения библиотеки .NET во что-то, что можно использовать. эта платформа.
В настоящее время существует поддержка .NET для C, Objective-C (на различных платформах Apple) и Java (Android и обычная Java) на платформах Windows, Linux и macOS.
Чтобы начать, ознакомьтесь с нашей документацией.
Присоединяйтесь к нам на нашем дискуссионном канале #managed-interop Gitter.
git submodule update --recursive --init
Embeddinator-4000.sln
с помощью Visual Studio или Visual Studio для Mac.Если вы предпочитаете выполнять сборку из командной строки, вместо Visual Studio для Mac можно использовать Cake или Make.
Части проекта Android/C также можно собрать с помощью Cake с использованием сценариев build.ps1/build.sh.
В OS X вы можете настроить свою среду для Android, запустив сценарий оболочки:
./build.sh -t Generate-Android -v diagnostic
В Windows в Powershell:
.build.ps1 -t Generate-Android -v diagnostic
При этом будет загружена основная сборка Xamarin.Android и извлечена она в /external/Xamarin.Android
.
Embeddinator-4000.exe
будет скомпилирован в build/lib/Release
. Сценарий Cake также запустит Embeddinator для тестовой сборки, так что вы можете быть уверены, что ваша система настроена правильно.
Части проекта Objective-C можно собрать с помощью make
в objcgen
.
Для создания nuget можно использовать любой из них (оба они вызывают один и тот же процесс сборки):
make nuget
в objcgen
./build.sh -t Create-Package
В документации по началу работы описаны основные принципы использования Embeddinator.
Более подробную информацию о вызовах для конкретных платформ можно найти здесь.
Руководство по участию охватывает ряд областей, которые следует учитывать при внесении вклада в Embeddinator-4000.
Существует ряд файлов внутренней документации, описывающих проект и внутреннюю структуру Embeddinator: