2010-11-12 41 views
10

我有一個Silverlight項目,其中包含服務引用所在的生成的Reference.cs文件。該類用[GeneratedCode]歸因,並且在項目配置中禁用生成代碼的代碼分析(發佈和調試)。如何在生成的代碼中抑制代碼分析?

我做錯了什麼?

+0

相關:http://stackoverflow.com/questions/1590238/how-to-configure-stylecop-to-suppress-warnings-on-generated-code – 2011-01-04 10:54:27

回答

11

也許你應該嘗試的工作StyleCop的解決方案:

1)把「了.Designer.cs」到文件名的末尾,你不想了StyleCop檢查。或者調用該類以及包含它的文件「NativeMethods」。確保您還取消選中StyleCop設置中的「分析設計器文件」。在這種情況下,整個文件將被繞過。您不必爲某些類型的Microsoft設計器生成的代碼(如Windows窗體設計器)執行此操作,因爲它們會自動落入以下選項的條件下:

2)將不需要的代碼段與C#區域其名稱中包含「生成的代碼」。 StyleCop默認不會檢查生成的代碼(確保沒有選中「分析生成的文件」設置)。在這種情況下,您仍然可以驗證爲Windows窗體控件生成的字段的名稱。

#region Windows Form Designer generated code

...

#endregion

3)要忽略整個生成的文件,檢查發電機是否把一個 「」 XML元素融入了StyleCop,符合文件頭,如下所示:

// <auto-generated />

4)最後,您可以將MSBuild編譯項目的「ExcludeFromSourceAnalysis」屬性設置爲true,以表示需要從分析中排除的文件。它只適用於使用提供的「Microsoft.SourceAnalysis.Targets」目標文件,否則您必須自己將StyleCop MSBuild任務與所需的源文件一起提供。

來源:http://shishkin.wordpress.com/2008/07/08/stylecop-how-to-ignore-generated-code/

+1

我試圖選項3,自動生成的標記被忽略 - 我添加了一個關於此問題:http://stackoverflow.com/questions/5027889/excclude-file-from-stylecop-analysis-auto-generated-tag-is-ignored – 2011-02-17 10:49:44

+3

代碼分析(以前的FxCop)與StyleCop不一樣,也許Cop的東西太混亂了 – 2012-01-13 22:52:22

相關問題