C# と Java で一種のデバイス インターフェイスを作成しています。C# はネイティブ デバイス ライブラリと連携し、データをポーリングする長期間のワーカー スレッドを実行します。何らかの処理を行い、データを内部キューに保存します。
Java 部分はワーカー スレッドを開始し、その内部キューをポーリングします。スレッドは、メインの JVM スレッドとは別のものです。
問題は、C# ライブラリをロードするときに、デバイス ライブラリの依存関係が見つからないことです。システム ディレクトリと JVM ディレクトリを調べようとします (Bridge.LoadAndRegisterAssemblyFrom メソッドは単にシステム アセンブリ ローダーを呼び出します)。Javaホストからその依存関係を手動で開いてロードすることに頼りました。
CLR ライブラリ パスを設定する方法はありますか。私は .Net の経験があまりないので、jni4net だけでなく、一般的な方法があるかもしれません。