我們的解決方案之一,代碼分析(CA)開啓,我們得到如下錯誤:CA0001:會員FirstOrDefault找不到,代碼分析錯誤
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的輸出的一些調查,我發現了一個文件[MYDLL] .CodeAnalysisLog.xml在bin/debug目錄。有更詳細的錯誤:
<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>
但仍然問題仍然存在,如何解決這個問題?