2012-05-23 3 views
-2

특정 AppDomain에서로드 된 어셈블리의 클래스 인 플러그 인을로드하려고하지만 MarshalByRefObject에서 내 플러그 인을 가져 오지 않으려합니다.AppDomain.CreateInstanceAndUnnrwap 대신 사용할 수 있습니까?

Activator.CreateInstance(t).

+2

Activator.CreateInstance (t)가 손상되었습니다. 어떻게 추락 했습니까? 스택 추적을 얻었습니까? 당신이하고있는 일의 코드 스 니펫? 왜 대안인가? 왜 충돌을 해결하지? – spender

+0

@Snixtor 응용 프로그램 도메인 경계를 넘어 개체에 액세스하려고하지 않습니다. 이 응용 프로그램 도메인은 기본 응용 프로그램 도메인에서 플러그인을 격리하기 위해 만들어졌습니다. – lowerkey

+0

appdomain 경계에서 액세스하려고하지 않는다면 "특정 appdomain"에로드하지 않을 것입니다. 그렇지 않으면 "응용 프로그램 도메인 경계를 넘어 오브젝트에 액세스해야합니다." * 올바른 * (MS 필수) 플러그인을 수행하는 방법은 MEF를 사용하는 것입니다. http://msdn.microsoft.com/en-us/library/dd460648.aspx – spender

답변

1

MSDN, MarshalByRefObject "응용 프로그램 도메인 경계에서 개체에 액세스 할 수 있도록 설정". "MarshalByRefObject에서 상속하지 않는 개체는 값에 의해 암시 적으로 마샬링됩니다." "유형이 응용 프로그램 도메인 경계에서 사용되는 경우 유형이 MarshalByRefObject에서 상속되어야합니다." MarshalByRefObject와 함께 붙어있는 것처럼 보입니다. http://msdn.microsoft.com/en-us/library/system.marshalbyrefobject.aspx

관련 문제