I setup a IIS application from within an existing application.
Will the parents web.config be inherited or is that something I have to set explicitly?
What you do is change the parent .NET 4 app's web.config to indicate its settings shouldn't flow down to the children
<location path="." inheritInChildApplications="false">
<system.web>
...your system.web stuff goes here
</system.web>
</location>
For more details refer here http://www.hanselman.com/blog/ChangingASPNETWebconfigInheritanceWhenMixingVersionsOfChildApplications.aspx
Yes it will without setting anything explicitly, and I don't know any way to prevent it.
However many configuration sections will allow you to clear data inherited from parent files.
E.g.
<appSettings>
<clear/>
<add key=...>
</appSettings>
<connectionStrings>
<clear/>
<add ... />
</connectionStrings>
You can also use the remove
tag to get rid of things you don't want or put everything in a location and tell it not to inherit:
<remove name="FooBar" />
<location path="." inheritInChildApplications="false">
<system.web>
...
</system.web>
</location>
The child inherits the parent's web.config file.
Also, when a new web.config
file is created in the child, the child's web.config
file settings override the same settings in the parent's web.config
file.