質問
があるので、リリースするオブジェクトへのアクセスを利用下旬に結合(作成した Activator.CreateInstance()
法)?
私は他のアプリケーションに対する変換ファイル形式です。のアセンブリを行うこれらの翻訳に住んでフォルダに自分をクリックします。
時にアプリケーションは最初に開始門ちゃまを何気なく打ったんで削除できるこれらの集合体からの翻訳のフォルダなします。しかし、私がロンがドキュメントを、アプリケーション(とて行きの翻訳アセンブリの下旬に結合いができなくなり削除の翻訳を構成に基づいています。この点、私の受信エラーメッセージこのファイルは"使用中のほかのアプリケーションによって".
はしてもらえると助かります"リリース"のレーバオブジェクトアダプタのご使用をおまんどうなりますか?
解決
一度組み立てが読み込まれるアプリケーション-ドメインでまでのアプリ領域を遮断する。
この負荷の組立で独自のアプリケーション-ドメイン、例えば:
AppDomain app = AppDomain.CreateDomain("PlugInDomain");
ObjectHandle objectHandle = app.CreateInstanceFrom(assemblyPath,
"MyNamespace.MyComponent");
MyComponent component = (MyComponent) objectHandle.Unwrap();
// do stuff
// Now kill app domain, assembly can be overwritten after this.
AppDomain.Unload(app);
他のヒント
一度組み立てにロードされ、実行中のAppDomainすることはできな荷揚げしわを経由反射活性化剤です。CreateInstance).
お勧めのアプローチがここに導入することによって、現在二次AppDomainとのできるアンロードしたい場合には処理の構成に基づいています。
はたくさんありますの例がこちらには:http://www.dotnet247.com/247reference/msgs/28/142174.aspx.
以降の生涯の二次AppDomainsにある、世界に向けて発信する、ご利用の場合はASP.益を見込んでおり荷重を多くのアセンブリ、チェックできる場合現在のAppDomainが飽和状態に動的にロードされるアセンブリに結合することにより、 AppDomain.CurrentDomain.AssemblyLoaded
イベントをカウントしを要求するホスティング環境リサイクルの現在のAppDomainときにヒットの重要数(500):
HostingEnvironment.InitiateShutdown();