如何阻止C# Release版本.exe中包含代码注释?
解决Release构建中保留注释的问题
核心原因
Release版本反编译后仍能看到注释,是因为你的项目在Release模式下默认生成了XML文档文件,dotPeek会自动读取该文件并将注释关联到反编译后的代码中。
操作步骤
方法一:关闭XML文档生成(彻底移除注释来源)
- 右键你的WinForms项目,选择「属性」
- 切换到「生成」标签页,确保选中「Release」配置
- 找到「输出」区域,取消勾选「XML文档文件」选项
- 重新构建Release版本,此时生成的.exe不再附带对应的.xml文件,dotPeek反编译后就看不到注释了
方法二:配合优化编译选项(可选)
如果需要进一步确保编译后的程序集无额外冗余信息,可补充检查以下设置:
- 在「生成」标签页的「优化」区域,确认已勾选「优化代码」(Release模式默认已勾选)
- 点击「高级」按钮,在弹出窗口中:
- 将「调试信息」设置为「无」(仅控制调试符号,不直接影响注释,但能进一步精简程序集)
- 若项目无需不安全代码,取消勾选「允许不安全代码」
验证步骤
- 在VS中重新构建Release版本的解决方案
- 将生成的.exe文件拖入dotPeek,此时反编译后的代码应不再显示注释
内容的提问来源于stack exchange,提问作者mountainred
相关产品推荐
相关产品推荐

