代码分析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,网上方法均无效
Spring JdbcTemplate 查询参数类型错误:无效的列类型
Sqlserver 报错“参数数据类型 ntext/text 对于 replace 函数的参数 1 无效”的解决方案及原理分析扩展