2010-12-17 3 views
1

나는 내 자신의 관리 대상 DLL에 대한 정보를 검색하기 위해 사내 도구로 작업합니다. dll을로드하기 위해 나는 System.Reflection.Assembly.LoadFile을 사용합니다. 일부 dll 함께 예외가 있어요 :System.Reflection.Assembly.LoadFile failed (Advices?)

"ClassName": "System.NullReferenceException"; "메시지": "개체 참조가 개체의 인스턴스로 설정되지 않았습니다.";

그러나 이러한 dll은 잘 작동하며 응용 프로그램 내에서로드 할 수 있습니다. 모든 종속성은 동일한 디렉토리에 있습니다. 조언?

대단히 감사합니다!

P. 이러한 예외는 메서드 System.Reflection.Assembly.LoadFrom으로 발생합니다.

+3

예외 스택 추적을 포함 할 수 있습니까? – Luca

+0

이 Winforms입니까? – SwDevMan81

답변

2

LoadFile은 현재 AppDomain에서 실행을 위해 어셈블리를로드합니다. (일부) 정적 생성자를 실행하고 사용자 정의 클래스 속성을 평가할 수 있습니다. 이 경우 일부 코드가 실행될 수 있습니다. 따라서 NullReferenceException은 코드에서 올 수 있습니다. 예외 StackTrace는 아마도 소스를 나타낼 것입니다.

편집 : 정적 생성자 또는 평가 특성을 실행하지 않고 어셈블리에 대한 정보를 얻으려면 Assembly.ReflectionOnlyLoad * 메서드를 살펴보십시오.

1

음 ... 잘 모르겠지만 어쩌면 관리되지 않는 DLL이거나 필요한 파일 권한이 부족합니까?

+1

다른 예외가 발생합니다. – SLaks