令我天真的惊讶的是,反编译(使用 dotPeek)一个我已经工作了好几个月的大型 .NET 8、C#、WinForms 应用程序 - 我的每一条评论都被保留了。
内置于 VS 2022,17.8.0。
“啊”,我说...“这是一个调试版本,我的错,切换到发布版本”。
令我更加惊讶的是,所有评论也都保留在发布版本中?
我在网络上找到了多个来源,包括此处的 SO,其中声明 Release 删除了注释,例如 this,但 - 情况似乎并非如此。
什么给予?如何从发布版本中排除评论?我怀疑是我,不是你......
您对 .NET 8 WinForms 应用程序的调试和发布版本中保留注释的惊讶可能源于默认优化设置优先考虑大小而不是剥离注释,而且我想说,程序集属性和特定编译器设置可能会影响这一点行为。要从发布版本中排除注释,请考虑调整优化选项,确保排除 XML 文档注释,或重新访问任何自定义编译器指令。通过微调这些设置,您应该能够实现所需的行为。