2009-07-28 15 views
9

Mi piace dividere il mio app.config in una parte specifica dell'utente e una parte specifica dell'applicazione. È possibile memorizzare una parte di app.config in un altro file?Carica parti di App.Config da un altro file

ho giá provato questo:

<!DOCTYPE cruisecontrol [<!ENTITY email SYSTEM "email.config">] > 

ma questo non viene caricato.

Esiste un'altra possibilità senza modificare l'applicazione stessa?

risposta

26

È possibile utilizzare l'attributo configSource per indicare al framework di caricare una particolare sezione da un altro file.

Ad esempio, se si ha un file di configurazione con una sezione come questa:

<connectionStrings> 
    <add name="MyDatabase" connectionString="...etc..." /> 
</connectionStrings> 

si potrebbe sostituire con:

<connectionStrings configSource="ConnectionStrings.config" /> 

... e creare un file ConnectionStrings.config con i contenuti della sezione originale (incluso il nodo <connectionStrings> - esattamente uguale alla precedente sezione del mio primo codice).

+0

Questo è fantastico! Ho cercato un modo per farlo per così tanto tempo, ed è stato proprio di fronte a me per tutto il tempo. – grimus

+0

Il problema è che questo sembra includere solo stringhe di connessione, ma non aiuta quando si tenta di includere sezioni di configurazione da altri file. – Kjellski

+1

@Kjellski Posso assicurarti che 'configSource' funziona per tutti gli elementi. Suggerisco di leggere come funziona: http://weblogs.asp.net/fmarguerie/archive/2007/04/26/using-configsource-to-split-configuration-files.aspx –