2011-01-05 2 views
1

나는 AssemblyA에 다음 코드를 가지고 :내 사용자 지정 특성 어셈블리 참조는 어디로 갔습니까?

[TypeConverter(typeof(AssemblyB.TestTypeConverter))] 
public class TestClass 
{ 

} 

TestTypeConverter 다른 조립 (AssemblyB)에 정의되어 있습니다. 이 AssemblyB에 대한 유일한 참조는 AssemblyA입니다. 이 &을 리플렉터 모양으로 컴파일하면 TypeConverterAttribute가 있지만 AssemblyA에는 AssemblyB.dll에 대한 어셈블리 참조가 없습니다. 그것은 단지 mscorlib와 System.dll을 가지고 있습니다. 어디로 갔고, .NET은 AssemblyB에서 TestTypeConverter을 어떻게보아야합니까?

+0

'ildasm/all'을 통해 어셈블리를 실행하고 메타 데이터 테이블을 살펴보십시오. –

+0

CFF 탐색기에서이 코드를 살펴 봤는데 SystemRule과 mscorlib의 두 가지 AssemblyRef 항목 만 있습니다. – thecoop

+0

"어셈블리"태그는 어셈블리 언어 프로그래밍 용입니다. 나는 그것을 삭제했다, 당신이 꺼리지 않기를 바란다. – Jester

답변

0

상자에 복제하려고했는데 볼 수 없습니다. AssemblyA에서 AssemblyB.TestTypeConverter를 참조 할 때 Reflector는 AssemblyA가 AssemblyB를 참조한다고 올바르게 설명합니다.

Reflector의 속성에 TestClass가 마크 업되어 있습니까? 그렇다면 반사경에서 속성을 클릭하면 어떻게됩니까?

+0

속성은 반사경에서 ok를 표시하고 typeof()를 클릭하면 AssemblyB가 열리고 유형으로 이동하지만 '참조'목록에는 System 및 mscorlib 만 있습니다. AssemblyA에서 AssemblyB를 참조하는 것은 없습니다. – thecoop

+0

100 % 확실합니다. –

+0

그리고 ildasm에는 참조가 올바르게 포함되어 있습니다. –

관련 문제