我们在我们的项目中使用代码分析。作为其中的一部分,我们在构建服务器上启用了代码分析,以便进行连续检查。
现在我们收到此错误:
CA0063 : * 无法加载规则集文件“[name].ruleset”或其依赖的规则集文件之一。
[name] 是我们内部网络上的一个规则集,可供所有人使用。
代码分析在每台本地机器上运行得非常好,但在构建服务器上却不行。我们如何解决这个问题?
笔记:
- 我们使用定制的规则集
- 我们没有使用任何自定义规则(还)
我们在我们的项目中使用代码分析。作为其中的一部分,我们在构建服务器上启用了代码分析,以便进行连续检查。
现在我们收到此错误:
CA0063 : * 无法加载规则集文件“[name].ruleset”或其依赖的规则集文件之一。
[name] 是我们内部网络上的一个规则集,可供所有人使用。
代码分析在每台本地机器上运行得非常好,但在构建服务器上却不行。我们如何解决这个问题?
笔记:
我也有这个问题。我如何解决它是将我的自定义规则集添加到版本控制(Git)中,作为我的项目文件中的一个新目录。我们将 Jenkins 用于我们的 CI,因此在我的 Jenkins.build 中,我确保在 Jenkins 服务器上指定我的规则集的绝对文件路径,您可以通过查看 Jenkins 上的 Workspace 来获得。例如路径可能如下所示:
e:\Jenkins\workspace\SampleProj-Dev\Rulesets\CustomRules.ruleset
在 Jenkins.build 文件中,我向 msbuild.exe 程序执行添加了一个参数:
<arg line="/p:RunCodeAnalysis=true;CodeAnalysisRuleSet=e:\Jenkins\workspace\SampleProject-Dev\Rulesets\CustomRules.ruleset"/>
在我尝试使用相对路径但构建包含许多子项目之前,Jenkins 尝试将路径附加到不断变化的路径上。此路径基于当前构建的子项目,导致您收到相同的错误。
今晚我偶然发现了一个解决这个问题的方法,这个项目多年来一直受其困扰。我创建了一个新的配置 CHECKED 并且问题消失了。然后通过:
这个问题现在在所有配置中都完全消失了。
这一切都在 Visual Studio 2013 中。