我正在使用Common.Logging for .NET。當我使用DebugFormat或InfoFormat等XXXFormat函數之一時,出現CA1305警告。通過右擊並壓縮代碼或添加到項目抑制文件中可以很容易地進行抑制。我想在GlobalSuppressions.cs中添加一行以禁止所有對DebugFormat調用的警告(以及InfoFormat,TraceFormat等的單獨行)。到目前爲止,我無法弄清楚如何去做。當我用鼠標右鍵單擊該警告並選擇抑制信息 - >在項目鎮壓文件,這就是被添加:爲調試格式InfoFormat和類似調用抑制CA1305
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "Common.Logging.ILog.DebugFormat(System.String,System.Object[])", Scope = "member", Target = "My.Full.Namespace.Class.#MyFunctionName(int)")]
正如你所看到的,抑制已經建立了一個集級屬性消息打壓。在屬性本身內,Scope被設置爲「member」,Target被設置爲名稱空間限定的classname「dot」方法簽名。這確實抑制了在該函數中調用DebugFormat的消息,但是我想禁止所有對DebugFormat的調用。我嘗試刪除目標並將範圍更改爲「模塊」(和「程序集」 - 不知道這是否有效),但我仍然無法得到此警告抑制所有出現的DebugFormat。
理想情況下,我希望創建一個在它(或類似)具有至少這些條目的GlobalSuppressions.cs文件:
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "Common.Logging.ILog.TraceFormat(System.String,System.Object[])", Scope = "module",)]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "Common.Logging.ILog.DebugFormat(System.String,System.Object[])", Scope = "module",)]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "Common.Logging.ILog.InfoFormat(System.String,System.Object[])", Scope = "module",)]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "Common.Logging.ILog.WarnFormat(System.String,System.Object[])", Scope = "module",)]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "Common.Logging.ILog.ErrorFormat(System.String,System.Object[])", Scope = "module",)]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "Common.Logging.ILog.FatalFormat(System.String,System.Object[])", Scope = "module",)]
有誰知道如何做到這一點?
謝謝。
感謝您的信息。 – wageoghe 2011-06-21 19:52:30