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

Posted

技术标签:

【中文标题】代码分析VS2012 - 位置0的方法类型参数无效【英文标题】:Code Analysis VS2012 - Method type parameter in position 0 is not valid 【发布时间】:2014-02-26 16:21:55 【问题描述】:

在 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)

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

似乎没有比上面的错误消息更详细的信息了。我已经对此进行了搜索,但没有找到解决此问题的方法。

【问题讨论】:

您使用的是 Microsoft.Bcl.Async 吗?如果是这样:***.com/questions/17298281/… 【参考方案1】:

很遗憾,由于内部处理异常的方式,无法从代码分析运行中获取更多信息。要深入挖掘,您需要尝试将调试器附加到 fxcopcmd.exe 进程,以了解类型签名似乎无法解析的原因。

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于代码分析VS2012 - 位置0的方法类型参数无效的主要内容,如果未能解决你的问题,请参考以下文章

vs2012 qt运行opengl程序后 报错计算机中缺失msvcp110d.dll,网上方法均无效

SQL 无效的对象名称“地址类型”

为啥HTML调用JS无效

Spring JdbcTemplate 查询参数类型错误:无效的列类型

Sqlserver 报错“参数数据类型 ntext/text 对于 replace 函数的参数 1 无效”的解决方案及原理分析扩展

匹配的最佳重载方法有一些无效参数