【发布时间】:2015-09-11 17:12:26
【问题描述】:
所以在 VS2013 中,我们有一个选项“从生成的代码中抑制结果(仅限托管)”
通过SONAR 进行分析时,我们是否有类似的选项?
以下代码在未选中上述选项时报告违规,但我在 SONAR 中看不到任何使用上述选项的选项。
我确实尝试了Sonar.dotnet.excludeGeneratedCode = true 选项,但似乎没有任何区别。
public IEnumerable<string> YieldTest()
{
foreach(var num in Enumerable.Range(100, 100))
yield return string.Format("{0}", num);
}
【问题讨论】:
-
分析仪如何知道它应该从分析中排除该方法?你有没有用一些特殊的属性标记它,它是在一个专门命名的文件中,还是特殊的项目类型?
-
嗨 Dinesh,我尝试使用 [GeneratedCode] 属性标记该方法,但没有帮助。
-
如果您在 Visual Studio 中分析上述方法且未选中上述选项,我会发现 CA1305 违规,选中后我不会违规。
-
好的,我设法在 VS2015 中重现了这种行为。现在,您面临的具体问题是什么? CA1305 在 SonarQube 中报告,但在设置“从生成的代码中抑制结果”标志时不在 Visual Studio 中?还是其他问题?
-
嗨 Dinesh,是的,这就是我面临的问题。如果我们可以有一个类似的选项来抑制在 Sonar 上生成的代码,那就太好了。谢谢。