1
私は、このメソッドを使用してCOM DLLをロードしています:オブジェクトを廃棄する際に、読み込まれたモジュールを解放する必要がありますか?
[DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
private extern static IntPtr LoadLibrary(string librayName);
は、私が使用してDLLを解放する必要があります
[DllImport("kernel32", SetLastError = true)]
private static extern bool FreeLibrary(IntPtr hModule);
か、単にアプリケーションの終了は、それを処理しましょうか?
+1もう少し明確にするために、「LoadLibrary」を使ってロードしたDLLだけを解放します。 「system32」、「kernel32」などのシステムDLL、*または* GetModuleHandleで取得したハンドルを持つDLLを解放しないでください。詳細については、[documentation](http://msdn.microsoft.com/en-us/library/ms683152.aspx)を参照してください。 –
私はTLBIMPを使用していますが、すべてのバージョンの展開でCOMオブジェクトの登録を処理したくありません。 – HuBeZa
@HuBeZa:あなたのためにそれを世話するインストーラを使用する必要があります。それを手作業で行うことは、後ろの巨大な痛みです。しかし、セットアッププログラムは実際にはバージョン管理を難しくするのではなく、簡単にします。 –