Dynamic Debug Compilation

  • Thread starter Thread starter ktrvnbq02
  • Start date Start date
K

ktrvnbq02

Hi,

We have an ASP.NET application built in Release mode via Visual Studio.

All of the C# code is in the code-behind files (i.e. *.aspx.cs files)
and there is no C# in the *.aspx files themselves.

In this scenario, will the following setting have any detrimental
effect if left set to true when running a Release build described
above?

<system.web>

<!-- DYNAMIC DEBUG COMPILATION
Set compilation debug="true" to enable ASPX debugging.
Otherwise, setting this value to
false will improve runtime performance of this application.
Set compilation debug="true" to insert debugging symbols (.pdb
information)
into the compiled page. Because this creates a larger file that
executes
more slowly, you should set this value to true only when
debugging and to
false at all other times. For more information, refer to the
documentation about
debugging ASP .NET files.
-->
<compilation
defaultLanguage="c#"
debug="false"
/>

</system.web>


My understanding is that the setting should *only* have an effect if
code is being dynamically compiled (which we are not doing), however
the MSDN is slightly ambiguous and I wanted to check if there were any
other side effects (performance or otherwise) if this setting has been
left enabled on a live site.


Thanks for your time,

Matt
 
The aspx files are converted to C# files (even if there is no C# code in
them). You can see the generated C# files in
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
The folder name can differ depending on where windows is installed on your
machine, and which framework version you are using.
The flag in web.config affects the compilation of the generated C# files.

Best regards,
Sherif
 
Yes there will still be an impact. The debug setting also changes the
way batch compilation works and how many assemblies will be created.
Whether or not the impact would have a noticable effect on your
application could only be determined by some testing, however.
 
My understanding is that the setting should *only* have an effect if
code is being dynamically compiled (which we are not doing), however
the MSDN is slightly ambiguous and I wanted to check if there were any
other side effects (performance or otherwise) if this setting has been
left enabled on a live site.

Thanks Sherif and Scott, your help is appreciated.

I'll now ensure that this setting is checked specifically as part of
our build process, as it's easy for that setting to be left enabled,
e.g. if a Developer updates the Web.Config from their local copy
they've been using whilst Debugging.


Regards,

Matt
 
Back
Top