c# - [DebuggerDisplay] 等调试属性是否仍会编译到 Release 二进制文件中?

标签 c# debugging release-management

最近了解到 DebuggerDisplay属性,我发现它非常有用。但是,令我感到惊讶的一件事是它没有附加 [ConditionalAttribute("DEBUG")] 属性。有什么方法可以强制执行此操作还是尝试这样做是个坏主意?还是出于其他原因无关紧要?

最佳答案

[ConditionalAttribute("DEBUG")] 仅用于优化方法调用。

如果你真的想从你的构建中删除这些,你可以使用#ifdef,这样代码只在 Release模式下编译。

要记住的一件事是,您仍然可以在 Release模式下调试二进制文件,只要您有 pdb 文件就没有关系。 Release模式只是更快地清除变量并应用一些编译器优化

关于c# - [DebuggerDisplay] 等调试属性是否仍会编译到 Release 二进制文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1099808/

相关文章:

c# - 我怎样才能使这段代码更快? List<自定义类>().Find(lambda_表达式)

C# 谷歌驱动器 SDK。如何获取谷歌驱动器文件夹列表?

c++ - 如何使用 VSCode 调试 C++ 应用程序控制台应用程序?

python - 在没有 -0 标志的情况下禁用 python 的 assert()

c# - 制作面板及其所有控件的副本

delphi - 调试设计时包时启动 Delphi 时出错

visual-studio - Visual Studio 的发布管理 - 管道如何与 DEV/QA/Production Branches 一起工作?

versioning - 是否有推广候选版本的规范?

git - maven-release-plugin 是否将标签推送到远程 Git 存储库?

c# - 序列化 C# 属性时前置父节点