2013-02-25 73 views
1

我得到了CA1506問題。它只出現在VS 2012 Ultimate中。當我在VS2010 Premium中打開解決方案並運行代碼分析時,一切正常。CA1506 VS2012上的代碼分析問題

是否有人知道這種行爲的原因是什麼?我應該怎麼做才能在兩種環境中具有相同的行爲?

回答

3

多個元素的[CodeGenerated]屬性有changed from the type level to the method level。這將導致這些類型現在可以通過代碼分析進行評估,它們之前被忽略。

此外,FxCop引擎(它是代碼分析和代碼度量的底層引擎)應用了一些修復程序,這些修補程序提高了規則的準確性。因此現在有些規則會在他們真的應該觸發時觸發,或者當他們原本不應該觸發時觸發。由於Visual Studio 2010將使用規則和引擎的10.0版本,並且2012將使用規則和引擎的11.0版本,因此您會發現唯一真正的獲取行爲的方式你想要的是獨家使用2010年或2012年。

無論你決定,由Visual Studio 2012報告的項目很可能是你想要調查和修復的實際問題,無論2010年是否發現並報告它們。