2014-02-26 46 views
1

在VS2012解決方案(C#)上運行代碼分析時出現錯誤。我有43個項目在此解決方案,但4與下面的錯誤而失敗:代碼分析VS2012 - 位置0中的方法類型參數無效

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) 

我能想到的唯一的事情是有可能與方法的參數是一個複雜類型(或東西那副與問題複雜類型本身)。但是,還有很多其他方法會將複雜類型作爲參數,而代碼分析工具對這些方法沒有任何問題。

似乎沒有更多的細節可用,然後上面的錯誤消息。我已經完成了對這個問題的搜索,但沒有發現可以解決這個問題。

+1

您是否使用Microsoft.Bcl.Async?如果是這樣的話:http://stackoverflow.com/questions/17298281/using-microsoft-bcl-async-with-code-analysis-causes-errors – JoanComasFdz

回答

0

不幸的是,由於內部處理異常的方式,無法從代碼分析運行中獲取更多信息。要深入挖掘,您需要嘗試將調試程序附加到fxcopcmd.exe進程,以瞭解類型簽名似乎無法解析的原因。

0

有時,這個錯誤隱藏了實際的錯誤,這實際上是一個警告! 此警告爲CA0060:「無法找到間接引用的程序集xxxx,分析時不需要此程序集,但分析結果可能不完整。」

在這種情況下,糾正包括在輸出目錄(例如:bin \ debug)中複製程序集。對引用程序集使用copy local = true屬性是一種方法。

相關問題