如何通过 msbuild 关闭编辑并继续(适用于 Veracode)
How do I turn off Edit and Continue (for Veracode) through msbuild
我知道这个问题并不完全有意义,因为我不是在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>
相关文章:
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- C++17 - 使用自定义分配器的节点提取/重新插入 - 适用于 clang++/libc++,但不适用于 libstd
- "string.h"在构建适用于iOS的qt应用程序中找不到消息
- 适用于 WebView2 旧版本的示例应用程序
- 在 NVIDIA GEFORCE GTX 1050 上下载适用于 Windows 10 的 openCL 1.2
- __attribute__(优化(0))) 是否适用于"recursively"?
- 为什么 std::erase(std::erase_if) 不是适用于<algorithm>任何容器的模板?
- 使用一个参数的模板函数时出错(适用于 2)
- 使用 适用于 Android 和 iOS 的 tf-lite C++ API
- 为什么这适用于 G++ 而不是 CLANG?
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 适用于 Linux 的 c++ 上的代理脚本
- 为什么我的 SFINAE 表达式不再适用于 GCC 8.2?
- 使输出流式处理运算符适用于 boost::variant<std::vector<int>、int、double 的正确方法是什么>
- 有没有适用于Windows.lib文件的GNU二进制文件描述符(BFD)
- 模板函数仅适用于VS
- 如何在cmake中包含适用于g++或viceversa的库
- 适用于win32、linux、mac的POSIX C包装器
- WinDBG适用于从Visual Studio 2015保存的转储,但不适用于任务管理器。显示异常代码"not found"
- 如何通过 msbuild 关闭编辑并继续(适用于 Veracode)