44

If I don't include the debug attribute in the compilation element like this:

<system.web>
    <compilation />
</system.web>

Does it default to true or false? Links to sources would be appreciated.

oscilatingcretin
  • 10,457
  • 39
  • 119
  • 206

4 Answers4

58

The default for debug attribute in the compilation is false

MSDN - compilation Element (ASP.NET Settings Schema)

debug

Optional Boolean attribute. Specifies whether to compile debug binaries rather than retail binaries. The default is False.

Community
  • 1
  • 1
Mark
  • 1,455
  • 3
  • 28
  • 51
9

The default value is false, but beware of ASP.NET Configuration File Hierarchy and Inheritance.

So, if in a specific web.config file you find:

<system.web>
    <compilation />
</system.web>

It may very well be that the actual value it true, if there is a web.config file at a higher level with:

<system.web>
    <compilation debug="true" />
</system.web>

If you use the the IIS configuration editor, you can see the actual values. A drop down list allows you to inspect the values set at a higher level. Configuration inheritance at work

You can see that the value of debug=true. Not because it is set in the web.config file at the application level, but at the root site level.

R. Schreurs
  • 8,587
  • 5
  • 43
  • 62
4

The Default value will be false.

Here is a link to MSDN about the compilation tag for web.config.

Stacked
  • 6,892
  • 7
  • 57
  • 73
AndyC
  • 1,325
  • 1
  • 13
  • 23
2

The default is false as described by previous answers.

If debug=true is specified in Machine.config, every web app's web.config will inherit it and it will be treated as default then.

soccer7
  • 3,547
  • 3
  • 29
  • 50