通过 Devenv 命令行构建时禁用代码分析

Posted

技术标签:

【中文标题】通过 Devenv 命令行构建时禁用代码分析【英文标题】:Disable code analysis while build via Devenv command line 【发布时间】:2014-08-03 03:07:17 【问题描述】:

我正在使用 DevEnv 命令行构建我的 VS 解决方案。然而,在构建时,它显示了许多与代码分析相关的警告。有什么方法可以在命令行中指定不为 Devenv 运行代码分析?

谢谢

【问题讨论】:

你找到devenv的解决方案了吗?我不说MSBuild 【参考方案1】:

使用 Devenv 构建自 VS2010 以来已被弃用,您应该改用 MSBuild.exe。

是否执行代码分析由项目中的<RunCodeAnalysis> 属性决定。您可以使用 MSBuild /p 命令行选项覆盖属性值。例如:

   MSBuild yadayada.sln /p:runcodeanalysis=false

在命令行构建中而不是在 IDE 构建中收到代码分析警告当然不应该是任何原因。您非常简短的问题没有暗示潜在的原因可能是什么。一个非常粗略的猜测是,您正在使用不适当的规则集构建发布配置。

【讨论】:

尽管我一般都同意你的观点,但使用 devenv.exe 而不是 MSBuild 是有正当理由的。我们在客户的构建服务器上面临构建顺序不正确的使用 msbuild-bug (blogs.msdn.com/b/visualstudio/archive/2010/12/21/…),因此必须使用 devenv.exe。我偶然发现了这个问题,因为我想为我们的 CI 构建覆盖 RunCodeAnalysis 设置。 VS2010 是 msbuild 训练轮,不要卡在旧版本上。 当然,如果我有空升级霸道,我会在早上做第一件事:) 他们正在运行 Server 2003 构建服务器,所以我必须忍受它暂时。 MSBuild 不适用于 Visual Studio Installer Projects 等扩展,因此很遗憾 devenv 有很大的用例。 “已弃用”的声明可能过于强烈。从 VS 2019 开始,它仍然受支持。文档确实说“对于与构建相关的任务,建议您使用 MSBuild 而不是 devenv。”,但 /Build/Project/Clean 等开关仍然可以正常工作。

以上是关于通过 Devenv 命令行构建时禁用代码分析的主要内容,如果未能解决你的问题,请参考以下文章

DEVENV 命令行构建失败:“此操作可能只发生在 UI 线程中”

使用 devenv /deploy 立即启动和终止构建

devenv 命令行 构建环境变量/参数

通过 devenv.com 构建设置项目未按预期工作

devenv 命令行不显示有缺陷项目的错误

如何在 Visual Studio 2017 上禁用代码分析?