我正在为Visual Studio 2010编写自定义代码分析规则(基本上是FxCop,但是是最新版本)。我想获得一个属性(或所有属性的集合)应用于该组件的检查,使用如下代码:代码分析AssemblyNode.GetType总是返回null
public override ProblemCollection Check(ModuleNode module)
{
AssemblyNode assembly = module as AssemblyNode;
if (assembly != null)
{
Identifier ns = Identifier.For("System.Reflection");
Identifier attr = Identifier.For("AssemblyCopyrightAttribute");
TypeNode type = assembly.GetType(ns, attr);
...
...但“型”总是空,即使事实上,我知道这个属性是为程序集定义的。
此外...当我调试这个,我看到assembly.ModuleAttributes集合为空,因为是ExportedTypes,如模块...它看起来仿佛集包含什么都没有!但是,'base'ModuleNode已完全填充,例如在其属性集合中包含14个属性。
就好像“Assembly作为AssemblyNode”是错误的,但如果是这样它将返回null!任何人都可以解释我做错了什么?