2009-06-21 2 views
1

.net에서 새로운 AppDomain 내에 AddIn을 만들 수 있습니다. 새로운 AppDomains의 생성은 새로운 것이 아니며 AppDomainSetup 클래스를 사용하여 새로 생성 된 AppDomain의 모든 시작 매개 변수 (예 : app.config를 찾을 위치)를 지정할 수 있습니다. 그러나 새 AddInProcess (완전히 새로운 프로세스 내에서 AddIn을 인스턴스화하도록 지정 함)를 사용하여 AddInToken을 활성화하면 새 프로세스에서 AppDomain을 만드는 데 사용되는 AppDomainSetup 매개 변수에 직접 액세스 할 수 없습니다.AddInProcess 내에서 AddInToken을 활성화 할 때 AppDomainSetup을 제어하십시오.

이 작업을 수행 할 수있는 방법이 있습니까? 정말 새로운 AddIns가 새로운 app.config 설정과 AppDomain의 다양한 다른 사용자 지정을 사용하도록 강제 할 수 있어야합니다.

여기에 어떤 도움을 주셔서 감사합니다 ...이 코드 (내가 완전 신뢰가 나쁜 이해하지만 내 응용 프로그램이 필요로되는 경우) 내가 별도의 app.config를 지정할 수 있어요와

답변

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

    // snip 
    // do stuff 
    // snip 
} 

이 (라는 이름의 Addin 어셈블리와 동일).

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

이것은 사실입니다. 사용하는 Activate 오버로드가 현재 프로세스의 새 AppDomain을 활성화하는 것입니다. 새로운 프로세스를 생성하기 위해서'var addinInstance = addin.Activate (새로운 AddInProcess(), AddInSecurityLevel.FullTrust); '를 호출 할 수 있습니다. 나는 그 질문이 오래된 것임을 알고 있지만 System.AddIn을 사용하는 사람에게는 도움이 될 수 있습니다. –

관련 문제