2010-04-09 6 views
4

특수한 사용자 지정 도메인 논리에 대한 사용자 지정 반사 라이브러리를 작성 중이며 해당 라이브러리는 런타임에 System.Type 개체를 동적으로 확인하는 XML 구성 파일을 사용하려고합니다. 그러나 XML 구성 파일을 작성할 때 형식을 작성하려면 Type.GetType()에 대한 정규화 된 어셈블리 이름이 있어야하므로 형식을 작성하는 것이 쉽지 않습니다. Visual Studio에서 개체의 AssemblyQualifiedName을 찾기 위해 파일이나 표준 출력 또는 그와 비슷한 것으로 인쇄 할 프로그램을 작성하지 않고 찾을 수 있습니까?어셈블리 얻기 Visual Studio에서 클래스의 정규화 된 이름

+0

여기에 대한 위대한 답변을 찾았습니다. http://stackoverflow.com/a/17396630/3899583 – vojta

답변

3

나는 거 때문에 내가 정확하게 당신이 원하는 않는 무엇을 제안 빠른 경기를 가진 후, 적절한 대답에 내 의견을 변경입니다.

Reflector from here의 무료 버전을 다운로드하고 압축을 풀어 실행하십시오. 어셈블리의 컴파일 된 버전을 드래그 앤 드롭하면 대화 상자의 하단에있는 정보 섹션의 이름 태그 옆에 정규화 된 이름이 붙어서 거기에서 복사하여 붙여 넣기 할 수 있습니다. 당신이 필요로하는 모든 정보는 availableby 또한 컴파일 된 파일을 마우스 오른쪽 버튼으로 클릭입니다

참고, 그냥 복사/거기에서 붙여 넣을 수는 없지만 다음의 세부 탭으로 이동 속성을 선택합니다.

+0

기술적으로는 AssemblyQualifiedName이 아니지만 충분히 가깝습니다. 당신의 도움을 주셔서 대단히 감사합니다. –

0

문제를 이해할 수 있을지 잘 모르겠습니다. 프로그래밍 방식으로 유형의 전체 이름을 얻으려고합니까? 그렇다면 항상 typeof(YourType).FullName 또는 typeof(YourType).AssemblyQualifiedName을 사용할 수 있습니다.

내가 생각할 수있는 것은 어셈블리에서 이름을 추출하기 위해 필요한 사용자 정의 속성을 사용하여 필요한 모든 유형을 표시하는 것입니다. 사용자가 각 유형을 통해 가지 않고도 어떤 방법으로도 찾을 수 있다고는 생각하지 않습니다. 그 이름을 추출해야합니다.

+0

아니요, 프로그래밍 방식으로 가져오고 싶지 않습니다. 이미 수행 방법을 알고 있습니다. 클래스의 이름을 출력하기 위해 코드를 사용하지 않고 Visual Studio에서 클래스의 AssemblyQualifiedName을 찾는 방법이 있는지 알고 싶습니다. 구성 파일에 Type.AssemblyQualifiedName을 사용해야하기 때문에 –

4

만약 내가 당신의 상황에 있다면 나는 즉시 창 (디버그 -> Windows -> 즉시)을 팝업하고 typeof(TypeFullName).AssemblyQualifiedName을 사용합니다.

이렇게하려면 전체 네임 스페이스로 형식을 정규화해야하며 솔루션 시작 프로젝트를 자동으로 실행하는 부작용이 있습니다. 이 부작용은 클래스 라이브러리를 솔루션 시작 프로젝트로 임시 설정하여 완화 할 수 있습니다.

예 :

typeof(System.Windows.Forms.Button).AssemblyQualifiedName 
+0

답변을 주셔서 감사합니다 –

관련 문제