Embeddinator-4000 é uma ferramenta para transformar bibliotecas .NET existentes em bibliotecas que podem ser consumidas por outras linguagens.
É uma ferramenta que pega um assembly .NET e gera a cola necessária para apresentar a API .NET como uma API nativa. O objetivo é trazer bibliotecas .NET para todos os ecossistemas onde o Mono/Xamarin é executado e, para cada plataforma, fornecemos uma interface nativa dessa plataforma, bem como as ferramentas necessárias para transformar uma biblioteca .NET em algo que possa ser consumido. essa plataforma.
Atualmente há suporte para .NET para C, Objective-C (nas diversas plataformas Apple) e Java (Android e Java regular), nas plataformas Windows, Linux e macOS.
Confira nossa documentação para começar.
Sinta-se à vontade para se juntar a nós em nosso canal de discussão #Managed-Interop Gitter.
git submodule update --recursive --init
Embeddinator-4000.sln
com Visual Studio ou Visual Studio para MacSe você preferir construir a partir da linha de comando, Cake ou Make podem ser usados para construir em vez do Visual Studio para Mac.
As partes Android/C do projeto também podem ser construídas com Cake usando os scripts build.ps1 / build.sh.
No OS X, você pode configurar seu ambiente para Android executando um script de shell:
./build.sh -t Generate-Android -v diagnostic
No Windows, no Powershell:
.build.ps1 -t Generate-Android -v diagnostic
Isso fará download de uma compilação mestre do Xamarin.Android e a extrairá em /external/Xamarin.Android
.
Embeddinator-4000.exe
será compilado para build/lib/Release
. O script Cake também executará o Embeddinator em um assembly de teste, para que você possa ter certeza de que seu sistema está configurado corretamente.
As partes Objective-C do projeto podem ser construídas com make
em objcgen
.
Para gerar o nuget pode-se usar (ambos invocam o mesmo processo de construção):
make nuget
em objcgen
./build.sh -t Create-Package
A documentação de introdução aborda o uso básico do Embeddinator.
Mais detalhes sobre invocações específicas da plataforma podem ser encontrados aqui.
O guia de contribuição cobre diversas áreas a serem consideradas ao contribuir para o Embeddinator-4000.
Existem vários arquivos de documentação interna que descrevem o projeto e a estrutura interna do Embeddinator: