ユーザ用ツール

サイト用ツール


it技術:dotnet:動的dllの解放

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
it技術:dotnet:動的dllの解放 [2017/03/26 11:10] – [参照] yajuadminit技術:dotnet:動的dllの解放 [2018/07/27 11:53] (現在) – [参照] yajuadmin
行 16: 行 16:
 .NETでは、Win32の時のFreelibrary関数(DLLを呼び出しプロセスの アドレス空間から切り離す)のようなものはなく、一旦DLLを ロードしたらプロセスを終了するまでメモリに残り続けます。\\ .NETでは、Win32の時のFreelibrary関数(DLLを呼び出しプロセスの アドレス空間から切り離す)のようなものはなく、一旦DLLを ロードしたらプロセスを終了するまでメモリに残り続けます。\\
 (通常のDefault AppDomainにロードされている場合において)\\ (通常のDefault AppDomainにロードされている場合において)\\
 +{{:it技術:dotnet:appdomain.jpg|}}\\
 あえて動的にする場合は、CreateDomainにて、「User AppDimain」を作成し、そこにアセンブリをロードして実行、終了時にAppDimainをUnloadすることで、動的にアセンブリを解放することが出来るようになります。 あえて動的にする場合は、CreateDomainにて、「User AppDimain」を作成し、そこにアセンブリをロードして実行、終了時にAppDimainをUnloadすることで、動的にアセンブリを解放することが出来るようになります。
  
行 57: 行 58:
  
 参照設定:IClassのDLL(IClass1インターフェースを持つDLL) 参照設定:IClassのDLL(IClass1インターフェースを持つDLL)
 +
 +===== 別案:シャローコピー =====
 +ロード中のアセンブリの入れ替えが目的ならシャドウコピーでよい。\\
 +[[https://msdn.microsoft.com/ja-jp/library/ms404279.aspx?f=255&MSPPError=-2147217396|アセンブリのシャドウ コピー MSDN]]\\
 +[[http://d.hatena.ne.jp/akiramei/20071111/1194786373|C# DLLの動的読み込み]]
  
 ===== 参照 ===== ===== 参照 =====
行 62: 行 68:
   * [[http://acha-ya.cocolog-nifty.com/blog/2010/11/dll4-be0f.html|マネージドDLLの動的リンク(4)[最終回]]]   * [[http://acha-ya.cocolog-nifty.com/blog/2010/11/dll4-be0f.html|マネージドDLLの動的リンク(4)[最終回]]]
   * [[http://gushwell.ldblog.jp/archives/52211840.html|アセンブリを動的にロードし、そして完全にアンロードする]]   * [[http://gushwell.ldblog.jp/archives/52211840.html|アセンブリを動的にロードし、そして完全にアンロードする]]
-  * [[http://d.hatena.ne.jp/akiramei/20071111/1194786373|[C#]DLLの動的読み込み]] 
   * [[http://white-azalea.hatenablog.jp/entry/20081106/1225976143|ManagedDll を動的に読み込むあれこれ]]   * [[http://white-azalea.hatenablog.jp/entry/20081106/1225976143|ManagedDll を動的に読み込むあれこれ]]
 +  * [[https://jyuch.hatenablog.com/entry/2015/12/06/003000|VB.NETでもDLLをアンロードしたい]]
 +
it技術/dotnet/動的dllの解放.1490494243.txt.gz · 最終更新: 2017/03/26 11:10 by yajuadmin