gpt4 book ai didi

visual-studio-2010 - CA0001 : Member FirstOrDefault could not be found, 代码分析错误

转载 作者:行者123 更新时间:2023-12-05 01:11:41 32 4
gpt4 key购买 nike

在我们的一个解决方案中,启用代码分析 (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 ),Microsoft 告诉我们查看 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>

但问题仍然存在,如何解决这个问题?

最佳答案

我最近偶然发现了这个问题,经过传统的抨击之后,解决方案非常有趣。重大更改是在我的项目中引用自定义可移植库。这有效地在结果中带来了两组系统引用。意思是 System.Core 被引用两次,分别是 4.0.0.0 和 2.0.whatever。看起来 fxcop 不够聪明,无法处理这个问题(代码正在运行,它实际上只是验证)。

tl;dr 检查有问题的程序集有效引用了哪些内容。确保没有重叠复制品进入您的程序集。

关于visual-studio-2010 - CA0001 : Member FirstOrDefault could not be found, 代码分析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10311778/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com