使用ExcludeFromCodeCoverageAttribute会破坏XML注释。

3

我正在使用带有C#的Visual Studio 2010。

在我的项目中,我正在使用XML文档,并成功添加了注释。 "成功" 意味着没有编译器警告表示缺少XML注释。

然后,我检查了我的项目的代码覆盖率,并开始使用 System.Diagnostics.CodeAnalysis.[ExcludeFromCodeCoverageAttribute] 排除一些文件进行代码覆盖率计算。

我是这样做的:

...
using System.Diagnostics.CodeAnalysis;

namespace MyAppp
{
[ExcludeFromCodeCoverageAttribute]
/// <summary>My comment</summary>
public partial class FDB_PolicyGruppen : Form
{ ...
}
}

问题是,当我在注释前面加上[ExcludeFromCodeCoverageAttribute]时,我会收到警告: CS1591: 缺少公开可见类型或成员的XML注释 或 CS1587:XML注释不放置在有效的语言元素上。

1
你尝试过将注释放在属性上方而不是下方吗? - Ben Robinson
说得太早了。现在我的代码覆盖率下降了。 这意味着,在 XML 注释之后,[ExcludeFromCodeCoverageAttribute] 被忽略了。 - Wolfgang Bierl
嗯,这听起来像是在测量代码覆盖率的工具中出现了错误,或者你在处理事情时发生了复制粘贴错误。我可以看到评论的位置可能会影响寻找评论的东西,但是测量代码覆盖率的工具甚至不应该注意到评论在哪里。 - Ben Robinson
我在Microsoft Connect上提交了一个错误报告。反馈/错误ID 685518Microsoft Connect上的错误报告 - Wolfgang Bierl
该错误已在Microsoft Connect上被标记为无法重现 - 因此@BenRobinson应该从他的评论中制作一个答案,以解决这个问题。 - Shaun Wilde
@BenRobinson 其实是正确的;XML注释应该出现在方法、类或结构体的声明之上,而方法、类或结构体的声明包括应用于它们的任何属性。 - Jon Hanna
1个回答

0

嗯,这听起来像是你用于测量代码覆盖率的工具中存在错误,或者在处理事情时出现了复制粘贴错误。我可以看到注释的位置可能会影响寻找注释的某些内容,但是测量代码覆盖率的工具不应该注意到注释的位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接