我正在尝试按照此StackOverflow 答案的建议记录我的命名空间:
namespace Test
{
/// <summary>
/// The documentation for my namespace goes here.
/// </summary>
[System.Runtime.CompilerServices.CompilerGenerated]
internal class NamespaceDoc
{
}
// (other classes below...)
}
但是,将此添加到我的文件会导致 StyleCop 发出几个错误。具体来说,它抱怨文档在根级别只能包含一个类(SA1402),并且所有内部类都必须在公共类之后(SA1202)。
通过添加以下内容,我能够让 StyleCop 忽略第二个警告:
[System.Diagnostics.CodeAnalysis.SuppressMessage(
"StyleCop.CSharp.OrderingRules",
"*",
Justification = "Hack for Sandcastle.")]
但是,我无法让它忽略第一个警告。我尝试应用另一个属性,但这并没有成功:
[System.Diagnostics.CodeAnalysis.SuppressMessage(
"StyleCop.CSharp.Maintainability",
"*",
Justification = "Hack for Sandcastle.")]
让 Sandcastle 和 StyleCop 发挥出色的最佳方法是什么?
我知道我可以将 Sandcastle 帮助文件构建器中的设置更改为记录命名空间,但除非我需要,否则我宁愿不这样做,因为我希望所有文档都在源代码级别可用。我也不想完全禁用这些规则,因为它们在大多数情况下都很有用。