it技術:dotnet:動的dllの解放
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
it技術:dotnet:動的dllの解放 [2017/03/26 11:10] – [参照] yajuadmin | it技術:dotnet:動的dllの解放 [2018/07/27 11:53] (現在) – [参照] yajuadmin | ||
---|---|---|---|
行 16: | 行 16: | ||
.NETでは、Win32の時のFreelibrary関数(DLLを呼び出しプロセスの アドレス空間から切り離す)のようなものはなく、一旦DLLを ロードしたらプロセスを終了するまでメモリに残り続けます。\\ | .NETでは、Win32の時のFreelibrary関数(DLLを呼び出しプロセスの アドレス空間から切り離す)のようなものはなく、一旦DLLを ロードしたらプロセスを終了するまでメモリに残り続けます。\\ | ||
(通常のDefault AppDomainにロードされている場合において)\\ | (通常のDefault AppDomainにロードされている場合において)\\ | ||
+ | {{: | ||
あえて動的にする場合は、CreateDomainにて、「User AppDimain」を作成し、そこにアセンブリをロードして実行、終了時にAppDimainをUnloadすることで、動的にアセンブリを解放することが出来るようになります。 | あえて動的にする場合は、CreateDomainにて、「User AppDimain」を作成し、そこにアセンブリをロードして実行、終了時にAppDimainをUnloadすることで、動的にアセンブリを解放することが出来るようになります。 | ||
行 57: | 行 58: | ||
参照設定:IClassのDLL(IClass1インターフェースを持つDLL) | 参照設定:IClassのDLL(IClass1インターフェースを持つDLL) | ||
+ | |||
+ | ===== 別案:シャローコピー ===== | ||
+ | ロード中のアセンブリの入れ替えが目的ならシャドウコピーでよい。\\ | ||
+ | [[https:// | ||
+ | [[http:// | ||
===== 参照 ===== | ===== 参照 ===== | ||
行 62: | 行 68: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
+ |
it技術/dotnet/動的dllの解放.1490494243.txt.gz · 最終更新: 2017/03/26 11:10 by yajuadmin