MSBuild 无法找到 FxCop 二进制文件
Posted
技术标签:
【中文标题】MSBuild 无法找到 FxCop 二进制文件【英文标题】:MSBuild is unable to locate the FxCop binaries 【发布时间】:2013-10-31 01:18:31 【问题描述】:当我构建项目时,出现以下错误。如何解决这个问题?
错误消息:为了对托管二进制文件执行代码分析,MSBuild 需要启动 FxCop。 。确保已安装 Visual Studio Team Edition for Software Developers 或 Visual Studio Team Suite 并从“Visual Studio 命令提示符”中运行 MSBuild
【问题讨论】:
在我问你一些问题之前我已经回答了,你想运行 FxCop 吗?如果是,您是否已将其安装在构建服务器上?如果您不希望 FxCop 运行,请按如下所述更改属性。 【参考方案1】:找到答案。在我的解决方案中,规则集位于如下所示的共享网络位置。
<CodeAnalysisRuleSet>\\someserver\aa\bb.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
如果您没有正确的凭据来访问网络位置,您将收到此错误。所以请确保 \someserver\aa\bb.ruleset 可从您的计算机访问。如果不 去运行并输入 \\someserver\ 并在提示登录窗口时输入您的凭据。 (特别是如果您来自另一个域,跨域登录可能会失败)。登录后,下次visual studio就可以愉快的访问网络路径了。
【讨论】:
只能访问规则集。但是对于每条规则,它都需要加载相应的DLL文件(进行分析的真实代码),我认为这不可能在网络上的共享位置上。【参考方案2】:****编辑***
如果这不是您想要的,这将永久禁用代码分析。不要使用它。
打开项目文件并替换此属性
<RunCodeAnalysis>true</RunCodeAnalysis>
with
<RunCodeAnalysis>false</RunCodeAnalysis>
【讨论】:
这将永久禁用代码分析。所以不是完美的解决方案。以上是关于MSBuild 无法找到 FxCop 二进制文件的主要内容,如果未能解决你的问题,请参考以下文章
FXcop 和 Msbuild 与 CruiseControl.NET
MSBuild 中的 FxCop 和禁用 CA0060 异常