私は二日前に尋ねたものを再転記しました - しかし、私は自分自身をはっきり説明しませんでした。C#Dll自体がアンロードされますか?それは可能ですか
機能を実行した後で、注入されたC#DLLを自動的にアンロードすることは可能ですか?
C#のDLLをC++プログラムに読み込むことはできますが、アンロードする部分は難しいです。私はRobert Giesecke's Unmanaged Exportsのおかげでこれを行うことができます。
基本的に、C++プログラムは指定されたフォルダ内のすべてのdllを読み込み、エクスポートされた関数_start()を実行します。
私は成功したエクスポートメソッド_start()を使用して個人用C#dllを '挿入'したいと考えています。 C++プログラムは関数をロードして実行しますが、後でアンロードするようにはプログラムされていません。私は_start()メソッドの終わりにあるC#dllをどうにかしてアンロードする必要があります。
は私が
t.Thread(() => FreeLibraryandExitThread()); t.Start();
が、それは動作しません...しかし、イムわからないではありません場合は、C#のDLL内の別のスレッドとして起動、輸入FreeLibraryandExitThread()を呼び出して試してみましたこれは管理されたDLLであるため、私は検索して、そのメソッドがC++のdllで動作することを発見しました。
ありがとうございました
は、appdomainを使用します。 –