2011-10-22 21 views
1

爲了使用VS2005和VS2008,我們在SharePoint列表中定義了我們當前的ca規則。VS2010中許多項目的CodeAnalysis RuleSet管理(主要是supressions)

在列表中有一列列出了所有被排除的程序集以半角方式排列。

自定義構建任務讀取共享點列表,並負責在團隊構建中用「 - !CA ...」排除項目文件中的指定規則。

現在我們計劃將我們的項目遷移到VS 2010,並且新的代碼分析規則集會產生一些問題。

第一個想法是

  • 創建從SharePoint
  • 規則集文件中添加GlobalSupressions.cs作爲一個解決方案項目,並在每個項目中添加文件作爲鏈接文件
  • 創建GlobalSupressions.cs中的SupressMessage條目與目標名稱空間和排除

我用一個項目的小解決方案測試了它。 它看起來像目標名稱空間不起作用。

我搜索了周圍的計算器和互聯網,主要答案是壓制與目標名稱空間不起作用。

主應用程序包含超過250個項目。

對我來說,似乎唯一的工作方式是爲禁用排除規則的不同項目創建n個自定義規則集。

我不想通過完整的應用程序並重新壓縮代碼中的所有規則。

你在這種情況下如何處理新的規則集?

任何想法如何我可以以簡單和可維護的方式與新的規則集合作? 共享點列表是定義代碼分析規則的主要部分。

編輯1

在以前的項目管理我們在SharePoint列表中的代碼分析規則集的定義。該列表顯示了所有的CA規則列表

  • CA數字
  • 激活
  • 的錯誤處理
  • 排除(包含項目名稱派對如「測試」或完整的項目/組件名稱)

從規則集創建列表,其中

  • 激活+ handleAsError =規則已啓用
  • !激活=禁用規則
  • 激活+!handleAsError =警告

如果排除列有例如像「測試」的值,然後在所有的測試項目規則應該被禁用。

回答

2

沒有什麼會迫使你轉向VS2010中的新的.ruleset文件方法。如果您願意,您可以繼續在構建中使用.fxcop項目文件或fxcopcmd.exe命令行開關,因此現有的方法應該可能繼續工作(可能需要稍作調整)。

這就是說,我猜測可能有更簡單的方法來實現你想要的。但是,我不確定我是否完全理解您的最終目標,因爲您的問題更多地關注於適應現有方法。如果您希望獲得幫助,試圖找到適合新工具功能的方法,請您提供更多關於您正在嘗試完成的細節的詳細信息。