ASP.net网站希望在IIS上调试== false

时间:2014-01-29 17:48:25

标签: c# asp.net iis-7

尝试将此添加到web.config

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

但是网站仍然会在#if DEBUG中执行代码

* Wiledly内联声明&lt;%#if DEBUG%&gt;在aspx文件上工作,但也需要.cs代码。

NB开发和在同一个盒子上的实时网站

3 个答案:

答案 0 :(得分:1)

后端#if文件中的

.cs指令由C#编译器处理,而不是由ASP.Net处理。 将项目设置为Release配置,以便在VS中编译DLL时未定义该符号。

答案 1 :(得分:0)

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

  

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

     

一些人认为非常有用的方案是   使用编译/预编译应用程序或关联的类库   调试符号使堆栈跟踪和行错误更加详细   发生错误时可以从中检索消息。

     

好消息是,你可以做到这一点而不必拥有    生产中启用了开关。   具体而言,您可以使用Web部署项目或Web   应用程序项目使用debug预编译站点的代码   符号,然后将开关更改为   在服务器上部署应用程序之前的错误。

     

编译的程序集中的调试符号和元数据将   增加应用程序的内存占用量,但这可以   有时可以更好地权衡更详细的错误消息。

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

答案 2 :(得分:0)

确保要发布编译配置。在Visual Studio中,构建菜单&gt; Configuration Manager并确保为所有程序集选择“Release”,和/或是活动的解决方案配置。