2014-09-26 95 views
1

SonarQube具有僅Java體系結構規則引擎。我正在尋找一種方法來爲C#.net項目實現類似的參考體系結構規則。SonarQube體系結構規則引擎,用於C#

例如:從*.B.*

    • 禁止不訪問*.A.*強制從*.C.*類的至少一個接入到*.A.*

    什麼是最好的實施方式? 是否可以在FXCop中創建這些規則?

  • 回答

    0

    從長遠來看,我們一定要提供這樣的規則出與C#SonarQube插件箱。但是,在此期間,您可以開發自己的自定義FxCop規則(現有的C#SonarQube插件支持),或者開發新的SonarQube插件以從不支持的工具(如Nitriq)導入問題,如建議。

    隨意看看R·插件,如果您需要任何幫助請求發送到SonarQube開發郵件列表: https://github.com/SonarCommunity/sonar-resharper

    0

    您可以Nitriq創建的規則:

    嚴禁將.A訪問。 from

    var results = 
    from t in Types 
    where t.Name.Equals("A") && t.TypesUsing.Any("B") 
    select new { t.TypeId, t.Name, t.FullName }; 
    Warn(results, 0); 
    

    強制至少一個接入到.A。.C。類。

    var results = 
    from t in Types 
    where t.Name.Equals("A") && !t.TypesUsing.Any("C") 
    select new { t.TypeId, t.Name, t.FullName }; 
    Warn(results, 0); 
    

    另一種方法是使用Roslyn