代码分析VS2012 - 位置0中的方法类型参数无效

时间:2014-02-26 16:21:55

标签: visual-studio-2012 code-analysis fxcop

在VS2012解决方案(C#)上运行代码分析时出错。我在此解决方案中有43个项目,但有4个项目失败,出现以下错误:

CA0001  Error Running Code Analysis
CA0001 : Rule=Microsoft.Security#CA2122, 
Target=Modules.Inspirations.Data.InspirationRepository.#AddImage(Modules.Inspirations.Models.InspirationImage) : 
The following error was encountered while reading module 'Modules.Inspirations': 
Method type parameter in position 0 is not valid.   
[Errors and Warnings]   
(Global)

我唯一能想到的是,方法参数可能存在复杂类型(或者复杂类型本身的问题)。但是,还有很多其他方法将复杂类型作为参数,而代码分析工具也没有问题。

上面的错误消息似乎没有更多细节可用。我已经对此进行了搜索,但没有任何问题可以解决这个问题。

2 个答案:

答案 0 :(得分:0)

不幸的是,由于内部处理异常的方式,不可能从代码分析运行中获取更多信息。要深入挖掘,您需要尝试将调试器附加到fxcopcmd.exe进程,以查看为什么类型签名似乎不可解析。

答案 1 :(得分:0)

有时,此错误会隐藏实际的错误,这实际上是一个警告! 此警告是CA0060:"无法找到间接引用的程序集xxxx。分析不需要此装配,但分析结果可能不完整。"

在这种情况下,更正包括在输出目录中复制程序集(例如:bin \ debug)。对引用的程序集使用copy local = true属性是一种方法。