1

以下に示すようにカスタム ルールを変更しましたが、"System.CodeDom.Compiler.GeneratedCodeAttribute" Not as a valid type name のクエリ構文エラーが発生しました。(他のカスタム属性でも同じエラーが発生しました)。構文エラーを回避するために 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

問題は、競合する 2 つの System.dll ファイルがあるサード パーティのアセンブリ ファイル (この場合は System.dll) を含めることであることがわかりました。

于 2013-08-22T14:35:13.653 に答える