은 다음과 같은 간단한 코드에서 컴파일 된 Class.dll 어셈블리 주어진 가정하자 :Assembly.GetType() 및 대해서 typeof()는 서로 다른 형태를 돌려주는?
namespace ClassLibrary
{
public class Class
{
}
}
을 그리고 프로젝트 참조로 다음과 같은 코드로 Class.dll 위의와 다른 프로젝트를 고려하십시오
Assembly assembly = Assembly.LoadFrom(@"Class.dll");
Type reflectedType = assembly.GetType("ClassLibrary.Class");
Type knownType = typeof(ClassLibrary.Class);
Debug.Assert(reflectedType == knownType);
어설 션이 실패하고 그 이유를 이해하지 않습니다.
예를 들어 System.Text.RegularExpressions.Regex 클래스와 System.dll 클래스 파일로 ClassLibrary.Class를 대체하면 어설 션이 성공합니다. 따라서 프로젝트 속성과 관련이 있다고 생각합니다. ? 아마도 일부 컴파일 스위치가 있을까요?
미리 감사
당신은 그것을 못을 박았다 (-) Assembly.Load를 사용하여 문제를 해결. 고마워요! 다른 클래스 라이브러리에 대한 외부 참조가없는 –