AppDomainの強制アンロードができない part3.

http://d.hatena.ne.jp/Kazzz/20050319の続き。結局は手詰まりのままでした。

ランチャのAppDomain起動/アンロード部分は以下の方法にて取り敢えず手打ち。

  1. 起動するAppDomainとその為に生成したワーカスレッドの参照をDictionaryに待避しておく
  2. 起動したAppDomainが自らアンロードされる場合はDictionaryから取り除く
  3. 大元のAppDomainがアンロードされる場合は待避したDictionaryに存在しているワーカスレッドを全てAbortさせると共に生成したAppDomainをUnloadする

ちょっと乱暴ではあるけれど今のところこの方法で強制アンロードできないケースは
無いようなのでこのままにしておき、また良い方法が見つかったら直す事にしよう。