如何停止发布中出现的源文件信息?

时间:2010-10-07 05:41:02

标签: asp.net compiler-construction

我正在构建一个Web应用程序。 这就是我的工作。

将解决方案Configuration Manager设置为Release。 因此,所有项目都在构建Release版本。 然后我清理解决方案并构建所有。 然后我“构建部署包”。

当从部署包运行已安装的代码时,我注意到编译源中存在错误时会出现源文件! 这是怎么回事,我正在构建Release配置。 源代码肯定不在发行版中,所以它必须在dll中。

有办法阻止这个吗?

2 个答案:

答案 0 :(得分:2)

假设您正在讨论“黄色死亡屏幕”ASP.NET错误页面,显示异常的源代码位置;由于在构建和部署包中包含调试符号而发生这种情况。这是与您的*.pdb文件名称相同的*.dll个文件。

这本身并不坏。但是,您不应该向最终用户显示这些错误。即使没有调试符号,这些错误消息也会显示太多信息。您应该处理错误并向用户显示“安全友好”的错误消息。

如果要删除调试符号,可以删除PDB文件。您还可以更改项目中的构建属性,并删除包含调试符号的选项。

答案 1 :(得分:1)

除了Andrew的回答,您还应该检查您的web.config是否已禁用调试:

<compilation debug="false"/>

这应该可以防止源代码显示在“黄色死亡屏幕”中。