当代码分析运行时,我在构建我的 .NET 项目时遇到以下无用的错误。它发生在 Visual Studio 中和使用 MSBuild 从命令行构建。

  * 1 total analysis engine exceptions.
MSBUILD : error : CA0001 : The given key was not present in the dictionary.

关于什么是坏的任何想法?

编辑:

找到了导致它的代码。我的代码中有一个方法。
Public Function Generate(ByVal input As XDocument) As XDocument
   ' My code
End Function

如果我添加以下行作为第一行代码,错误开始发生,如果我删除它,错误就会停止。
Contract.Requires(Of ArgumentNullException)(partCover IsNot Nothing, "input")

这没有任何意义,因为我在整个项目中都使用代码契约。这种方法与其他方法唯一不同的是它有大约 200 行 XML 文字。该方法将输入文档转换为另一种 XML 格式,很像 XSLT。我的猜测是它与此有关。

最佳答案

这是工具的内部错误。您对此无能为力,尽管您似乎找到了临时解决方法。当您继续处理源代码时,它可能会自行解决。尽管这需要半满的玻璃杯。

您可以在 connect.microsoft.com 上报告该错误,他们将需要一个可以为他们重现该错误的小代码示例。

关于.net - "The given key was not present in the dictionary."的代码分析工具错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3327287/

10-17 02:31