web.config and app.config confusion
app-config, asp.net, web-config, web-services
Solution
Create a new sectionGroup in configSections called applicationSettings and paste your app.config configuration into web.config as shown below and then you can override your app.config settings.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings"
type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Playground.ConfigurationOverride.DataAccess.Properties.Settings"
type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<Playground.ConfigurationOverride.DataAccess.Properties.Settings>
<setting name="MySetting" serializeAs="String">
<value>Setting in DataAccess</value>
</setting>
</Playground.ConfigurationOverride.DataAccess.Properties.Settings>
</applicationSettings>
</configuration>
Problem
I have a DLL that references a web service. The block it has put into the app.config is (I have changed the names but you'll get the idea): ``` <applicationSettings> <DLLName.My.MySettings> <setting name="DLLName_WebReferenceName_ASMXName" serializeAs="String"> <value>http://URL/Filename.asmx</value> </setting> </DLLName.My.MySettings> </applicationSettings> ``` My website references this DLL. The question is, what do I add to the web.config to override the above setting (alternativly, do I just put the app.config in the BIN directory)? I need to be able to override the URL for the webservice on the production server because it can't reach the URL specified in the app.config (that is a different issue we wont go into).