3

我们在我们的项目中使用代码分析。作为其中的一部分,我们在构建服务器上启用了代码分析,以便进行连续检查。

现在我们收到此错误:

CA0063 : * 无法加载规则集文件“[name].ruleset”或其依赖的规则集文件之一。

[name] 是我们内部网络上的一个规则集,可供所有人使用。

代码分析在每台本地机器上运行得非常好,但在构建服务器上却不行。我们如何解决这个问题?

笔记:

  • 我们使用定制的规则集
  • 我们没有使用任何自定义规则(还)
4

2 回答 2

2

我也有这个问题。我如何解决它是将我的自定义规则集添加到版本控制(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 尝试将路径附加到不断变化的路径上。此路径基于当前构建的子项目,导致您收到相同的错误。

于 2015-07-15T21:22:12.067 回答
-1

今晚我偶然发现了一个解决这个问题的方法,这个项目多年来一直受其困扰。我创建了一个新的配置 CHECKED 并且问题消失了。然后通过:

  1. 从配置管理器中删除现有配置;
  2. 退出并保存(此步骤可能不需要);最后
  3. 从新创建的配置重新创建已删除的配置,已检查

这个问题现在在所有配置中都完全消失了。

这一切都在 Visual Studio 2013 中。

于 2014-10-29T06:09:51.713 回答