views:

153

answers:

2

I am trying to clean up our web.config file such that per-deployment specific stuff is not kept in the main config. I have managed with the connections strings and some of the mailSettings, but I need the from attribute as well as the configSource, but this doesn't seem to be allowed.

Currently I have this:

web.config:

<system.net>
    <mailSettings >
      <smtp configSource="email.config" from="[email protected]" />
    </mailSettings>
    <defaultProxy>
        <proxy bypassonlocal="True" usesystemdefault="False" />
    </defaultProxy>
</system.net>

email.config

<network host="myhost" password="" userName="" />

Ideally I would have the set the configSource on either mailSettings or system.net, but this isn't supported.

Is there a better way to do this?

+1  A: 

You have to decide: If you use configSource it wins and the other settings are ignored. What are your reasons for using both? If this is a Debug / Release issue you can use two different configSource files and copy them to the right places with an after build action.

Dirk
The reason for needing both is simple, I want to use configSource, but I also want a default from address. It's an existing app and I'd rather not hack around trying to put the from address in everywhere.
ilivewithian
A: 

OK, this is a missunderstanding on my part. I didn't think I could do:

<system.net>
    <mailSettings >
      <smtp configSource="email.config" />
    </mailSettings>
</system.net>

and:

<smtp from="[email protected]">
    <network host="myhost" password="" userName="" />
</smtp>

Which you can. Hopefully me being daft in public will help someone else retain their dignity and not have to ask daft questions.

ilivewithian