Edit StyleCop Settings – StyleCop – SA1126 – Disable some of the StyleCop Rules – 停用某些StyleCop的規則

今天繼續嘗試把 ASP.Net MVCProject 的Code 轉成 乎合 StyleCopResharperCoding Standard的 程式碼…
誰不知遇到一個 StyleCop 提出 警告

SA1126 : CSharp.Readability : The call to Session must begin with the ‘this.’, ‘base.’, ‘object.’ or ‘ContactController.’ or ‘Controller.’ prefix to indicate the intended method call.

SA1126 : CSharp.Readability : The call to View must begin with the ‘this.’, ‘base.’, ‘object.’ or ‘ContactController.’ or ‘Controller.’ prefix to indicate the intended method call.

SA1126 : CSharp.Readability : The call to View must begin with the 'this.', 'base.'
我的程式碼是這樣的:

 public ActionResult Index()
        {
            if (Session["UserInfo"] == null || Session["UserInfo"].ToString() != contactInfo.Name)
            {

                return View("Error");
            }
            return View();
        }

當我把程式碼上的ViewSession 前加上了 “this.
StyleCop的警告便消失了

但是 Resharper卻出現了警告信息:
Qualifier ‘this.’ is redundant
Qualifier This Is Redundant

在這個情況下..Resharper有他的道理…
所以我便希望改變StyleCop的規定去適合自己的喜好 和適合Resharper的設定了

嘗試找StyleCop 的設定很久很久..終於找到了..

解決方法:
原來只有在Project上按 “滑鼠右鍵/ Mouse Right Click
之後在選單上選擇 “StyleCop Settings
StyleCop Settings Options

之後便會看到 “StyleCop Project Settings” 的視窗
由於這些規則是以屬性類型來分類的..
所以十分方便
StyleCop Project Settings

以我的例子:
警告是和CSharp.Readability 相關的
我便可以按一下ReadabilityMember Access相關的 開啟了相關的 Folder便 看到了 SA1126
只要把他untick 便可以停用他了
完成後按一下”確定/OK” 便可以了
StyleCop Project Settings Disable - SA1126

再次執行StyleCop這個警告便不見了

*由於這個設定是以Project為單位的.. 你可能要幫每一個Project都要這樣停用某些規則才能解決..
有時間的話..希望可以和大家分享…如何更變StyleCop的設定 令到只需要更變一個設定檔便可以解決所有Project的問題

Hope you find it useful

Leave a Reply