2009-06-21 6 views
1

.netでは、新しいAppDomain内でAddInを作成できます。新しいAppDomainsの作成は新しいものではなく、AppDomainSetupクラスを使用して、新しく作成されたAppDomainのすべての起動パラメータ(app.configの場所など)を指定できます。 ただし、新しいAddInProcess(完全に新しいプロセス内でAddInをインスタンス化するよう指定する)を使用してAddInTokenをアクティブ化すると、新しいプロセス内でAppDomainを作成するために使用されるAppDomainSetupパラメータに直接アクセスできません。AddInProcess内でAddInTokenをアクティブにするときのAppDomainSetupの制御

これを行う方法はありますか? 新しいAddInsに新しいapp.config設定とAppDomainのさまざまな他のカスタマイズを使用させることを本当に必要とする必要があります。命名

ここで任意の助けてくれてありがとう...このコードで

答えて

2
var addins = AddInStore.FindAddIns(typeof(AddInHostView), addInRoot); 
foreach (var addin in addins) 
{ 
    var addinInstance = addin.Activate<AddInHostView>(AddInSecurityLevel.FullTrust); 

    // snip 
    // do stuff 
    // snip 
} 

(私はFullTrustアクセスが悪い理解が、私のアプリケーションのために必要とされている)私は別々のapp.configを指定することができています( Addinアセンブリと同じ)を各ディレクトリに追加します。

\AddIns 
\AddIn1 
    AddIn1.dll 
    AddIn1.dll.config 
+0

これは該当します。使用するアクティブ化のオーバーロードは、現在のプロセスで新しいAppDomainにアクティブ化することです。新しいプロセスを作成するには、 'var addinInstance = addin.Activate (新しいAddInProcess()、AddInSecurityLevel.FullTrust);'を呼び出すことができます。私はその質問が古いものだと知っていますが、System.AddInを使用している人にとっては役に立ちます。 –

関連する問題