データベース内のプリコンパイルされたコードからオンザフライで作成される.NETアセンブリDLLがあります。DLLファイルを作成し、それにデータを入れ、Assemblyクラスとともにロードし、プロセスが終了したときにそのDLLを削除する方法はありますか?
FILE_SHARE_DELETE私の最初の考えは、フラグを付けて開き、ロードしAssembly.LoadFrom,て、自動的に削除することでした。
LoadLibraryはFILE_SHARE_DELETEフラグ付きのファイルを開きますが、DLLがまだメモリにマップされている場合、OSはファイルを削除しません。
したがって、外部の「ターゲットプロセスの終了後にこのファイルを削除する」実行可能ファイルを使用または開始せずにプロセスが終了したときにDLLを削除するにはどうすればよいですかAppDomains(実行時にロードされる.NET DLLはユーザー入力に依存するため、これを行うには何らかのプロセスが必要になりますコミュニケーション、避けたい)。