.net 我的自定义属性程序集引用到哪里去了?

.net 我的自定义属性程序集引用到哪里去了?,.net,custom-attributes,.net,Custom Attributes,我在AssemblyA中有以下代码: [TypeConverter(typeof(AssemblyB.TestTypeConverter))] public class TestClass { } TestTypeConverter在不同的程序集中定义(AssemblyB)。这是AssemblyA中对AssemblyB的唯一引用。当我编译这个&havelookinreflector时,TypeConverterAttribute在那里,但是AssemblyA没有对AssemblyB.dll的

我在
AssemblyA
中有以下代码:

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

}

TestTypeConverter
在不同的程序集中定义(
AssemblyB
)。这是
AssemblyA
中对
AssemblyB
的唯一引用。当我编译这个&havelookinreflector时,TypeConverterAttribute在那里,但是
AssemblyA
没有对AssemblyB.dll的任何程序集引用;它只有mscorlib和System.dll。它去了哪里,以及.NET如何知道在
AssemblyB
中查找
TestTypeConverter

我试图在我的框中复制它,但看不到它。当我在AssemblyA中引用AssemblyB.TestTypeConverter时,Reflector正确地表示AssemblyA引用AssemblyB


TestClass是否标记为Reflector中的属性?如果是这样,当您单击Reflector中的属性时会发生什么?

通过
ildasm/all
运行您的程序集,并查看元数据表。我在CFF Explorer中查看了它,仅有的两个AssemblyRef条目是System.dll和MSCorlib。“assembly”标记用于汇编语言编程。我已经删除了它,希望您不介意。该属性在reflector中显示ok,单击typeof()打开AssemblyB并导航到该类型,但在“引用”列表中只有System和mscorlib。您确定没有其他内容从AssemblyA引用AssemblyB吗?