私はApplicationBaseとPrivateBinPath(例えばsake)がC:\MyApp
に設定された新しいサンドボックスAppDomainを作成しています。実行中のアプリケーションはC:\SomewhereElse
です。現在のAppDomainアプリケーションベース以外のアセンブリをロードしていますか?
I otherDomain.Load(...)
アセンブリを実行すると、実行中のAppDomainもアセンブリをロードしています。私はロードの前にGetAssemblies()
をチェックし、ロード後にGetAssemblies()
をチェックすることでこれを判断しています。
どうしてですか?私はそれが実行中のAppDomainで利用可能にする必要があるメタデータと関係があり、新しいドメインから 'Cross Boundary'を経由して返されると思われるので、呼び出し側ドメインもアセンブリをロードしています。しかし!私はアセンブリがそれがApplicationBaseの外にロードできないと思っていましたが、GACに入っていなければ、この場合はそうではありません。
誰でも私の混乱を助けることができますか?