尝试将此添加到web.config
<compilation debug="false" targetFramework="4.0">
</compilation>
但是网站仍然会在#if DEBUG中执行代码
* Wiledly内联声明&lt;%#if DEBUG%&gt;在aspx文件上工作,但也需要.cs代码。
NB开发和在同一个盒子上的实时网站答案 0 :(得分:1)
#if
文件中的 .cs
指令由C#编译器处理,而不是由ASP.Net处理。
将项目设置为Release配置,以便在VS中编译DLL时未定义该符号。
答案 1 :(得分:0)
compilation debug
元素与DEBUG预处理器指令不同。
您需要在发布模式下重新编译您的网站。
用调试符号编译的二进制文件怎么样?
一些人认为非常有用的方案是 使用编译/预编译应用程序或关联的类库 调试符号使堆栈跟踪和行错误更加详细 发生错误时可以从中检索消息。
好消息是,你可以做到这一点而不必拥有 生产中启用了开关。 具体而言,您可以使用Web部署项目或Web 应用程序项目使用debug预编译站点的代码 符号,然后将开关更改为 在服务器上部署应用程序之前的错误。
编译的程序集中的调试符号和元数据将 增加应用程序的内存占用量,但这可以 有时可以更好地权衡更详细的错误消息。
答案 2 :(得分:0)
确保要发布编译配置。在Visual Studio中,构建菜单&gt; Configuration Manager并确保为所有程序集选择“Release”,和/或是活动的解决方案配置。