2014-01-29 48 views
0

曾尝试添加这web.config中ASP.net网站要调试到==假的IIS

<compilation debug="false" targetFramework="4.0"> 
</compilation> 

但是当它不应该

网站仍执行#如果调试代码

* Wierdly行内声明<%#如果DEBUG%>在ASPX文件的作品,但还需要的.cs代码。

NB开发和现场网站上的同一个盒子

+0

这是一个网站或Web应用程序项目? – SLaks

回答

1

#if指令在后台.cs文件是由C#编译器,而不是ASP.Net处理。
将您的项目设置为发布配置,以便在编译VS中的DLL时未定义该符号。

0

compilation debug元素不是一回事DEBUG预处理指令。 您需要在发布模式下重新编译您的网站。

怎么样使用调试符号编译的二进制文件?

那几个人认为非常有用

一种情况是 编译/预编译,这样当错误发生时更详细的堆栈跟踪和线路错误 消息可以从中检索应用程序或相关的类库与 调试符号。

好消息是,你可以这样做而无需在生产允许的 开关。 具体而言,您可以使用Web部署项目或Web应用程序项目来预编译您的站点的代码,并使用调试 符号,然后在将应用程序部署到服务器上之前将其切换为 。

编译后的程序集中的调试符号和元数据将增加应用程序的内存占用量,但这对于更详细的错误消息有时可以作出折衷。

http://weblogs.asp.net/scottgu/archive/2006/04/11/Don_1920_t-run-production-ASP.NET-Applications-with-debug_3D001D20_true_1D20_-enabled.aspx

0

确保编译配置以释放为好。在Visual Studio中,生成菜单>配置管理器,并确保为您的所有程序集选择“发布”,和/或是活动的解决方案配置。