当前位置: 首页 > 编程语言 > C#

如何在Sonar中排除路径中有空格的文件?Share

时间:2023-04-11 11:54:28 C#

Sonar如何排除路径中有空格的文件?我试图从Sonars静态代码和单元测试覆盖分析中排除一些自动生成的代码(服务引用)。该项目是通过Jenkins在Windows服务器上运行的C#.Net和Sonar。在我的sonar-project.properties文件中,我可以使用sonar.exclusions属性排除各种其他文件和目录,但这不适用于路径中包含空格的文件。sonar.exclusions=**/Global.asax.cs,**/MyProject/ServiceReferences/*在上面的示例中,解决方案中的所有项目都排除了Global.asax.cs文件,但服务引用没有。我试过用单引号和双引号将路径括起来。我试过使用反斜杠来转义空格。我试过利用通配符(可能有风险),路径为**/MyProject/Service*/*,但这也不起作用。有没有人有办法解决吗?我刚遇到同样的问题。我需要在项目文件脚本中排除项目“我的项目”中的javascript文件。我首先尝试了这个:**/Scripts/**/*.js工作正常,但我意识到它也排除了其他项目中的“脚本”文件夹。所以我改为:**/MyProject/Scripts/**/*.js并且它停止工作了。我的第一直觉是项目名称中的空格是罪魁祸首。所以我尝试了你所做的同样的事情:"**/MyProject/Scripts/**/*.js"'**/MyProject/Scripts/**/*.js'**/MyProject/Scripts/**/*.js但没有一个有效。然后我偶然发现了这个论坛:sonarqube-archive.15.x6.nabble.com/Project-exclusions-for-Code-Coverage-not-working-C-td5023058.html特别是这一行提供了答案:module(.Netproject)不是完全限定名称的一部分。您必须在模块(.Net项目)级别定义排除项。这意味着我的错误是项目名称中没有空格,而是包括项目名称!我将过滤器更改为:Scripts/**/*.js瞧,那些文件被正确排除了。无需引用或转义。当然,这样还有一个问题,其他项目中的“Scripts”文件夹也会被排除。此处的信息:docs.sonarqube.org/display/SCAN/Excluding+Artifacts+from+the+Analysis可能对此有用。我使用的是Web界面,而不是直接使用配置文件,但这也表明如果你有多个过滤器,逗号分隔的列表不应包含空格(路径中实际的除外),因为它们被解释得相当字面上地。以上是C#学习教程:Sonar中如何排除路径中有空格的文件?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: