C++ 如何通过msbuild关闭“编辑并继续”(对于Veracode)

C++ 如何通过msbuild关闭“编辑并继续”(对于Veracode),c++,msbuild,veracode,C++,Msbuild,Veracode,我知道这个问题没有完全意义,因为我不是在VisualStudio内部构建的。我正在尝试提交二进制文件进行静态分析,我使用msbuild进行构建: msbuild coop.sln /p:Configuration=Debug /p:Platform=x64 /p:LinkIncremental=false 我可以在我的Visual Studio环境中通过转到“工具>选项>调试>编辑并继续”,然后取消选中“启用编辑并继续”来关闭此功能。但是,这似乎不会影响解决方案文件 当我上传生成的二进制文件时

我知道这个问题没有完全意义,因为我不是在VisualStudio内部构建的。我正在尝试提交二进制文件进行静态分析,我使用
msbuild
进行构建:

msbuild coop.sln /p:Configuration=Debug /p:Platform=x64 /p:LinkIncremental=false
我可以在我的Visual Studio环境中通过转到“工具>选项>调试>编辑并继续”,然后取消选中“启用编辑并继续”来关闭此功能。但是,这似乎不会影响解决方案文件

当我上传生成的二进制文件时,Veracode警告我使用了Edit&Continue。我觉得必须有一个选项可以通过
msbuild
禁用该配置

有几个相关的帖子没有完全解决这个问题:


如何通过
msbuild
禁用编辑并继续?

有两种方法。最简单的方法是在版本配置中构建项目。默认版本属性设置为使用正常调试信息生成(即,不是编辑并继续)

另一种解决方案是,如果您必须在不编辑并继续的情况下调试二进制文件,则必须修改所有项目。导入
Microsoft.Cpp.props
后,将以下代码段添加到所有项目中.vcxproj文件末尾附近的某个位置:

<ItemDefinitionGroup>
  <ClCompile>
    <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  </ClCompile>
</ItemDefinitionGroup>

程序数据库

将/Zl更改为调试配置中的某个其他调试设置,或创建一个没有/Zl的新配置。另请参见静态代码分析器通常不会对必须验证调试生成留下深刻印象。他们更关心您将要发送给客户的代码。发布版本。