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

Posted

技术标签:

【中文标题】如何在 Visual Studio 2017 上禁用代码分析?【英文标题】:how to disable code analysis on visual studio 2017? 【发布时间】:2021-12-18 04:06:42 【问题描述】:

如何关闭代码分析?在 c++ vcxproj 项目属性中,我尝试取消选中 my_proj.vcxproj -> properties -> 代码分析 -> 启用代码构建分析。但是,当我使用详细日志记录构建时,我可以在构建命令中看到代码分析。

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.x\bin\HostX64\x64\CL.exe" /c /I<lots_of_include_paths> /Zi /JMC /nologo /W4 /WX /diagnostics:classic /sdl /MP3 /Od /D CODE_ANALYSIS ... /analyze /analyze:plugin"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.x\bin\HostX64\x64\localespc.dll" /analyze:plugin"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.x\bin\HostX64\x64\EspXEngine.dll" ... my_file.cpp

在此命令中有 2 个以“/analyze:plugin”开头的部分。一个用于 EspXEngine.dll,一个用于 localespc.dll。 localespc 一直在工作中的某些机器上引起问题,所以我想从构建命令中删除它。我怀疑 vcxproj xml 中有一些东西,但我还没有找到。

我尝试添加 `/analyze- /analyze /analyze:plugin"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.x\bin\HostX64\x64\ EspXEngine.dll”添加到其他属性。这可行,但会在 D9025 上发出新警告。

【问题讨论】:

【参考方案1】:

我最初的问题中缺少的是我的 .vcxproj 中 XML 的顺序。我不知道怎么回事,但我的<PropertyGroup...><RunCodeAnalysis>... 在文件底部附近。删除块并让 Visual Studio 使用复选框重新创建它,将其放在 XML 中的较高位置。

Microsoft 文档在此处定义的 vcxproj 文件中声明 Order Matters。 https://docs.microsoft.com/en-us/cpp/build/reference/vcxproj-file-structure?view=msvc-170#impact-of-incorrect-ordering

【讨论】:

以上是关于如何在 Visual Studio 2017 上禁用代码分析?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013

如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建

无法找到visual studio 2017生成工具

visual studio 2017 如何下载和安装

如何在 Visual Studio 2017 中创建 Visual c++ MFC 控制台项目

如何在 Visual Studio 2017 中启用 WiX 项目