如何通过 msbuild 关闭编辑并继续(适用于 Veracode)

How do I turn off Edit and Continue (for Veracode) through msbuild

本文关键字:继续 适用于 Veracode 编辑 何通过 msbuild      更新时间:2023-10-16

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

msbuild coop.sln /p:Configuration=Debug /p:Platform=x64 /p:LinkIncremental=false

我可以在我的Visual Studio环境中关闭此功能,方法是转到"工具>选项">"调试">"编辑并继续",然后取消选中"启用编辑并继续"。但是,这似乎不会影响解决方案文件。

我在上传生成的二进制文件时收到来自 Veracode 的警告,称已使用"编辑和继续"。我觉得必须有一个选项可以通过msbuild禁用该配置。

一些相关帖子没有完全解决这个问题:

  • 如何:启用和禁用编辑并继续
  • 有没有办法完全禁用编辑并继续?

关于如何禁用编辑并继续msbuild的任何想法?

有两种方法可以做到这一点。最简单的方法是在发布配置中生成项目。默认的发布属性设置为使用正常的调试信息(即不是编辑并继续)构建。

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

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