AppDomainの強制アンロードができない part3.
http://d.hatena.ne.jp/Kazzz/20050319の続き。結局は手詰まりのままでした。
ランチャのAppDomain起動/アンロード部分は以下の方法にて取り敢えず手打ち。
- 起動するAppDomainとその為に生成したワーカスレッドの参照をDictionaryに待避しておく
- 起動したAppDomainが自らアンロードされる場合はDictionaryから取り除く
- 大元のAppDomainがアンロードされる場合は待避したDictionaryに存在しているワーカスレッドを全てAbortさせると共に生成したAppDomainをUnloadする
ちょっと乱暴ではあるけれど今のところこの方法で強制アンロードできないケースは
無いようなのでこのままにしておき、また良い方法が見つかったら直す事にしよう。