【发布时间】:2013-06-24 12:59:12
【问题描述】:
我正在使用声纳代码分析工具来分析我的 c# 语言项目。它在某些项目中运行良好。但是对于某些项目,在声纳中上传时,我收到 Fxcop 执行失败,返回代码为“9”或“513”或“12”,并说执行失败......
【问题讨论】:
我正在使用声纳代码分析工具来分析我的 c# 语言项目。它在某些项目中运行良好。但是对于某些项目,在声纳中上传时,我收到 Fxcop 执行失败,返回代码为“9”或“513”或“12”,并说执行失败......
【问题讨论】:
我通过检查 FxCop 报告文件(fxcop-report.xml,在我的情况下它存储在我的项目根文件夹下的 .sonar 文件夹中)找到了解决此错误的方法。
在此文件中,我可以看到问题在于未加载规则(CA2001),然后发生了对象空引用。
我更改了 FxCop 安装,从我的独立安装执行 Visual Studio 的安装。版本不同。 问题解决了。
【讨论】:
Fxcop 错误代码 9 表示解决方案中的 dll 或项目之一的 Fxcop 分析失败。 有时,由于各种原因,解决方案中的某些项目 Fxcop 分析失败。原因之一可能是 Fxcop 需要一些 DLL 来完成分析。在这种情况下,完整解决方案的 Fxcop 分析失败,Fxcop 退出并显示错误代码 9。这会导致完整的声纳分析失败。
解决方案:我们可以利用声纳属性 sonar.fxcop.assemblies 来运行 Fxcop 分析。仅提供那些 dll 的逗号分隔路径作为我们要运行 Fxcop 分析的属性值。
例如:sonar.fxcop.assemblies=dll1 的路径,dll2 的路径
将此属性放在 sonar.properties 文件中,该文件位于解决方案文件所在的同一目录中。不要提供导致失败的dll的路径。
由于 Fxcop 不会对有问题的 dll 进行分析,因此声纳分析现在不会退出并显示错误消息“FxCop 执行失败,在声纳中返回代码 9。”
完整的问题原因,分析和解决方案click here。
【讨论】:
查看有关退出代码的 FxCop 文档以了解有关这些故障的更多信息:http://msdn.microsoft.com/en-us/library/bb164705%28VS.80%29.aspx
【讨论】: