Embeddinator-4000 是一个将现有 .NET 库转换为可供其他语言使用的库的工具。
它是一个工具,它采用 .NET 程序集并生成必要的粘合,以将 .NET API 作为本机 API 呈现。目标是将 .NET 库呈现给 Mono/Xamarin 运行的所有生态系统,并且对于每个平台,我们提供该平台本机的接口以及将 .NET 库转变为可在其上使用的内容所需的工具那个平台。
目前,跨 Windows、Linux 和 macOS 平台支持 .NET 到 C、Objective-C(跨各种 Apple 平台)和 Java(Android 和常规 Java)。
查看我们的文档以开始使用。
请随时加入我们的#management-interop Gitter 讨论频道。
git submodule update --recursive --init
Embeddinator-4000.sln
如果您更喜欢从命令行构建,可以使用 Cake 或 Make 来构建,而不是使用 Visual Studio For Mac。
项目的 Android/C 部分也可以使用 build.ps1 / build.sh 脚本通过 Cake 构建。
在 OS X 上,您可以通过运行 shell 脚本来设置 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 部分可以使用objcgen
中的make
来构建。
要生成 nuget,可以使用其中之一(它们都调用相同的构建过程):
objcgen
中make nuget
./build.sh -t Create-Package
入门文档介绍了 Embeddinator 的基本用法。
有关平台特定调用的更多详细信息可以在此处找到。
该贡献指南涵盖了为 Embeddinator-4000 做出贡献时需要考虑的许多领域。
有许多内部文档文件描述了 Embeddinator 的项目和内部结构: