【发布时间】:2023-04-08 05:04:02
【问题描述】:
我如何忽略一个特定的 VS 代码分析规则(比如 CA1305 : Microsoft.Globalization):
- 方法?
- 上课?
- 命名空间?
(假设这些选项都是可能的。)
【问题讨论】:
标签: visual-studio visual-studio-2008 code-analysis
我如何忽略一个特定的 VS 代码分析规则(比如 CA1305 : Microsoft.Globalization):
(假设这些选项都是可能的。)
【问题讨论】:
标签: visual-studio visual-studio-2008 code-analysis
你可以像这样使用 SupressMessage 属性:-
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "newValue+1", Justification = "The reason I think its acceptable in this case")]
void SomeMethod()
{
// Some code that would normal cause this Code Analysis message
}
关于方法、属性、类型等
【讨论】:
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA1305:Microsoft.Globalization")](为简洁起见),但仍然显示警告。有什么想法吗?
使用#pragma warning(suppress: Cxxxx)
您可以将 pragma 放在源文件中的适当范围内(即类、方法)
见http://msdn.microsoft.com/en-us/library/2c8f766e(VS.80).aspx
【讨论】:
#pragma warning(suppress: CA1305) 试过这个,但没有成功。想法?
我按照@TrueWill 对@AnthonyWJones 回答的评论的建议下载了 FXCop。这给了我 SuppressMessage:
[SuppressMessage("Microsoft.Globalization",
"CA1305:SpecifyIFormatProvider",
MessageId = "System.String.Format(System.String,System.Object)")]
这比原本应该做的要困难得多。 FXCop 与 Visual Studio 的集成发生了什么?感谢回答者的帮助。
【讨论】: