私のプロジェクトは C# で、.dll も C# で作成しています。dll をインクルードし、他の言語で実行時に exe から .dll を抽出できることを確認しました。
C#でこれを達成するにはどうすればよいですか?
アセンブリをリソース ファイルとして別のアセンブリ内に埋め込むことができます (プロジェクトのプロパティに移動し、リソース セクションを開くだけです)。
次に、 を使用して、実行時にリソース ファイルをストリームに取得できますAssembly.GetManifestResourceStream()
。
Assembly.Load(byte\[\])
最後に、 (リソース ストリームをバイト配列に読み込むことにより) を使用して、現在のアプリケーション ドメインまたは別のアプリケーション ドメインにアセンブリを読み込むことができます。
そのため、リソース アセンブリを最初にディスクに保存しなくても、メモリから直接読み込むことができます。
オーバーロードの 1 つを使用して、アセンブリから型を読み込むことができるようになりましたAssembly.GetType
。もちろん、メイン アセンブリとリソース アセンブリの間にいくつかのコントラクトを定義して、このアセンブリ内のカスタム型を利用できるようにすることもできます。