如何在 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 构建