我们在C#组件中定义了CODE_ANALYSIS,以便FxCop在我们的开发盒上构建它们时对它们进行分析。我希望FxCop在运行我们的构建系统时关闭。构建系统显然使用msbuild.exe命令行命令。有没有办法从这个可执行文件修改条件编译符号?如果没有,有没有人知道我的问题的任何其他可能的解决方案(除了手动关闭它)?
感谢。
答案 0 :(得分:6)
CODE_ANALYSIS编译符号控制代码中包含的SuppressMessageAttribute实例是否被复制到已编译的程序集中。它无法控制FxCop是否运行。如果要覆盖项目级MSBuild属性,如RunCodeAnalysis(控制FxCop是否在MSBuild下运行的beastie),您应该能够使用MSBuild.exe / property命令行开关。 e.g:
msbuild.exe <...> /property:RunCodeAnalysis=true
答案 1 :(得分:1)
为什么需要关闭它们?设置项目的最佳方法是仅为调试配置定义CODE_ANALYSIS。发布版本不会设置此值。这样,当您构建生产安装时,它们将不会引用任何FxCop。