首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TeamCity FxCop选择MinimumRecommendedRules.ruleset没有影响

TeamCity FxCop选择MinimumRecommendedRules.ruleset没有影响
EN

Stack Overflow用户
提问于 2014-07-16 16:44:17
回答 1查看 1.7K关注 0票数 4

我在TeamCity 8.0.6 (build 27767)中添加了一个构建步骤,以针对特定的c#项目程序集执行FxCop。

当在VS 2013中使用FxCop集运行MinimumRecommendedRules时,我不会收到任何错误或警告(我将它们全部修复)。

现在我想用TeamCity把这个连接起来。为了限制规则,我将命令行属性指定如下:

代码语言:javascript
运行
复制
/ruleSet:=MinimumRecommendedRules.ruleset  /rulesetdirectory:'FxCop\Rule Sets'

(规则目录参数指向源树中的位置,其中包含标准规则集文件夹的全部内容)

但是,这没有所需的行为,因此将运行完整的规则集,并得到如下错误:

FxCop警告: Keyword=CA0063 Kind=Engine Type=Microsoft.FxCop.Sdk.FxCopException *未能加载规则集文件'MinimumRecommendedRules.ruleset‘或其依赖的规则集文件之一。

这是TeamCity生成的命令行:

17:32:29启动:"C:\Program (X86)\MicrosoftVisualStudio10.0\Tools\StaticAnalysisTools\FxCop\FxCopCmd.exe“/forceoutput /ignoregeneratedcode /ruleSet:=MinimumRecommendedRules.ruleset”/规则目录:‘FxCop\Rule’“/f:dal\bin\release\MyDAL.dll /f:dal\bin\release\MyDAL.dll

有人能发现出什么问题了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-17 14:47:46

我想出来了,希望这对其他人有帮助。

/ruleSet:参数需要有规则集文件的完整(相对路径或绝对路径),如下所示:

代码语言:javascript
运行
复制
/ruleSet:"=%teamcity.build.workingDir%\FxCop\RuleSets\MinimumRecommendedRules.ruleset"

(注意:双引号是为了处理teamcity.build.workingDir可能包含空格的可能性)

其次,第二个命令行参数/rulesetdirectory:不再必要。我怀疑第二个参数实际上不起作用。

还请注意,我的工作命令行参数在这里指向我的MinimumRecommendedRules.ruleset文件在我的源代码。它可以很容易地复制到"c:\Program (X86)\MicrosoftVisualStudio12.0\Tools\\ Rule“下的标准规则集文件夹中。

最后,由于我的项目都是VS 2013,而且TeamCity只识别到v10,我还将“专门安装根”设置为"c:\Program (X86)\MicrosoftVisualStudio12.0\Tools\\ FxCop“,以确保使用的是最新版本的FxCop,不会阻塞.Net 4.5代码。(注意:由于C++项目的构建需求,我在构建服务器上安装了VS 2013,我对此并不满意,但事实证明,这对我处理FxCop设置非常方便。还有其他方法可以在不安装VS 2013的情况下将FxCop内容放在构建服务器上)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24786283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档