2014-07-07 3 views
0

AppDomain에서 인스턴스를 만들려고합니다. 따라서 각 플러그인에 대해 별도의 AppDomain을 만들고 Unload 메서드를 사용하여 플러그인을 닫으면 올바르게 처리 할 수 ​​있습니다.System.Type에서 AppDomain에서 인스턴스 만들기

지금까지 나는 모든 플러그인의 IEnumerator를 가지고 있으며, 다음 코드를 실행하는 동안 순환합니다.

Type temp = (Type)enumerator.Current; 
AppDomain ad = AppDomain.CreateDomain(temp.FullName); 
object obj = ad.CreateInstance(temp.Assembly.FullName, temp.FullName); 

그러나 파일 또는 어셈블리를로드 할 수 없다는 세 번째 줄에서 충돌합니다.

object obj = Activator.CreateInstance((Type)enumerator.Current); 

을하지만 제대로 base.dispose를 호출하여 내가 플러그인을 처리하지 못했습니다 발견() 의미 서비스 호출이 개방 된 코드는 서비스가 돌아 왔을 때 계속 실행합니다 :

이전에 내가 사용.

유형에서 앱 도메인을 만들 수 있습니까?

+1

왜 maf를 사용하는 대신이 작업을 수행하고 있습니까? –

+0

플러그인을 만들었지 만 플러그인을 만들 때 플러그인이 제대로 처리되지 않았다는 것을 알게 된 것은 기존 코드입니다. 내가 당신에게 의미하는 바를 제외하고는 maf에 대해 많이 알지는 못한다. – user1

답변

-1

오케이 그래서 실수를 발견했습니다. 읽어야합니다 :

object obj = ad.CreateInstanceFrom(temp.Assembly.Location, temp.FullName); 
관련 문제