私たちのソリューションの 1 つで、コード分析 (CA) をオンにすると、次のエラーが発生します。
CA0001 : Member 'FirstOrDefault' could not be found in type 'System.Linq.Enumerable' in assembly '[our project]'.
インターネット ( http://msdn.microsoft.com/en-us/library/ms245246.aspx ) を見ると、マイクロソフトは CodeAnalysisReport.xml ファイルを調べるように指示しています。しかし、私のマシンのどこにもそのようなファイルは存在しません。
また、msdn ページには、カスタム ルールを調べるように指示されていますが、カスタム ルールはありません。
誰かがこれを修正する方法を正しい方向に導くことができますか? または、この CA の奇妙な動作についてさらに情報を得るにはどうすればよいでしょうか?
編集: 2012 年 4 月 25 日 - 10:38
VS2010 の出力を調査した結果、bin/debug ディレクトリに [mydll].CodeAnalysisLog.xml ファイルが見つかりました。エラーはより具体的です:
<Exception Keyword="CA0001" Kind="AssemblyLoad">
<Type>Microsoft.FxCop.Common.AssemblyLoadException</Type>
<ExceptionMessage>Member 'FirstOrDefault' could not be found in type 'System.Linq.Enumerable' in assembly 'Prodigy.UI.Modules.SecurityDesigner.Silverlight, Version=0.0.0.1, Culture=neutral, PublicKeyToken=fdb1b3fc35f0c32e'.</ExceptionMessage>
<StackTrace> at Microsoft.FxCop.Engines.Phoenix.LoadAndResolutionHandler.HandleFailureToFindMatch(ModuleUnit unit, String memberName, Type memberType, String className, UInt32 memberRefToken, UInt32 classToken)
at Phx.Metadata.ReaderImplementation.GetExternalDefinitionMemberSymbolHelper(UInt32 memberToken, String name, Byte* signature, Symbol parentSymbol, Symbol originalParentSymbol)
at Phx.Metadata.ReaderImplementation.GetExternalDefinitionMemberSymbolHelper(UInt32 memberToken, String name, Byte* signature, Symbol parentSymbol, Symbol originalParentSymbol)
at Phx.Metadata.LoaderImplementation.GetExternalDefinitionMemberSymbol(UInt32 memberToken)
at Phx.Metadata.LoaderImplementation.GetMemberReferenceSymbol(UInt32 memberReferenceToken)
at Phx.Metadata.MetadataLoader.LoadMemberReferences(AssemblyUnit unit)
at Microsoft.FxCop.Engines.Phoenix.AssemblyLoader.LoadAssembly(String filePath)
at Microsoft.FxCop.Engines.Phoenix.PhoenixAnalysisEngine.AnalyzeInternal()
at Microsoft.FxCop.Engines.Phoenix.PhoenixAnalysisEngine.Analyze()
at Microsoft.FxCop.Common.EngineManager.Analyze(Project project, Boolean verboseOutput)</StackTrace>
</Exception>
しかし、まだ問題が残っています。これを修正するにはどうすればよいですか?