.NETにおけるSeasar2.4のHotDeploy機能

先日のエントリ「WindowsFormsアプリケーションにおけるDI戦略(まとめ)」に対して、ひがさんからコメントを頂いた。

コンテナの初期化の時間をできるだけ減らすことが重要なら、Seasar2.4のHOT deployのようにオンデマンドでデプロイする方法もあります。HOT deployは、ClassLoaderを毎回捨てているので、その辺は変える必要がありますが。
.NETでも同じようなテクニックが使えるのでしょうか。

Seasar2.4のHOT deploy機能は、ひがさんの日記でその概略を見た。まだソースコードまでは追っていないが、よくある、独自のクラスローダを使って生成/破棄を管理するような実装なのであれば、それを.NETのDIコンテナにそのまま適用するのは困難だと思う。
.NET Frameworkの場合、Javaのクラスローダに対応する抽象はAppDomainだと思うのだが、AppDomainがロード/アンロードできるのは自身と配下のアセンブリだけであり、単独の型"だけ"をロード/アンロードする手段が無いのである。(任意の型をアンロードするためには、その型が属しているアセンブリそのものをアンロードする必要がある。そしてアセンブリをアンロードするには、AppDomainをアンロードしなくてはならないのである。)

//AppDomainによるアセンブリのロードとAppDomainのアンロード
AppDomain Sandbox = AppDomain.CreateDomain("Sandbox");
try
{
    Assembly assembly= Sandbox.Load(LibraryName);
}
finally
{
    AppDomain.Unload(Sandbox);
}

以上は私の知っている範囲の知識での分析だが、.NET Frameworkにおける、型のロード/アンロードにおいて何か良い方法を知っている方は是非教えて頂ければと思う。