Client-Side BlazorはWebAssemblyでC# のコードを実行しています。 ということは、依存しているC# のコードをILに落とし込んで、みたいなことが出来ないと実行できなそうですよね?
で、実際C# ライブラリがNative Libraryに依存しているとビルドに失敗することが知られています。
これは厳しい。
私が求めていることは、
. ├── linux │ └── libawesome.so ├── osx │ └── libawesome.dylib ├── win-x64 │ └── libawesome.dll └── wasm(とかbrowser?) <- こいつを追加 └── libawesome.wasm
みたいな感じでNuget Packageを作ってBlazorを使ったプロジェクトで参照しているとClient-Sideで libawesome
のライブラリを使える状態。
似たようなことを考えている人がいるようで、
Implement support for pinvoke for wasm target. · Issue #8007 · mono/mono · GitHub
わかるーという………
これが出来ると割とハッピーなんですけど、AspNetCoreのリポジトリのIssueを探してもそれっぽいことが見つからないんですよね。 この辺こんなIssueで議論されているみたいなことを知っている方がいれば教えてほしいです。
以上メモ
関連しているリポジトリをちょろっと載せておこう(いつか触ってみる)
GitHub - JeremyLikness/blazor-wasm: Blazor and WebAssembly examples (part of a Blazor presentation)