1

我有一个修改后的自定义规则,如下所示,并且“System.CodeDom.Compiler.GeneratedCodeAttribute”的查询语法错误不是有效的类型名称。(对于我们的其他自定义属性,我也遇到了同样的错误)。我尝试使用 AllowNoMatch() 来避免语法错误,但它对我的结果没有影响。

另一个属性“System.Diagnostics.DebuggerNonUserCodeAttribute”工作得很好。

我想念什么吗?

==================================================== ===========

// <Name>Methods too big (LOC)</Name>
warnif count > 0 from m in JustMyCode.Methods where 
   m.NbLinesOfCode > 30 
   && !m.ParentType.HasAttribute( "System.Diagnostics.DebuggerNonUserCodeAttribute" )
   && !m.ParentType.HasAttribute( "System.CodeDom.Compiler.GeneratedCodeAttribute" )

   orderby m.NbLinesOfCode descending,
       m.NbILInstructions descending
select new { m, m.NbLinesOfCode, m.NbILInstructions }

// Methods where NbLinesOfCode > 30 or NbILInstructions > 200
// are extremely complex and should be split in smaller methods.
// See the definition of the NbLinesOfCode metric here 
// http://www.ndepend.com/Metrics.aspx#NbLinesOfCode
4

1 回答 1

0

我发现问题是在包含第三方程序集文件(在本例中为 System.dll)时存在问题,其中我有两个冲突的 System.dll 文件。

于 2013-08-22T14:35:13.653 回答