2009-07-28 14 views
9

Chciałbym podzielić mój app.config na część specyficzną dla użytkownika i część specyficzną dla aplikacji. Czy jest możliwe zapisanie części pliku app.config w innym pliku?Załaduj części App.Config z innego pliku

I allready próbował to:

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

ale nie ładuje.

Czy jest inna możliwość bez zmiany samej aplikacji?

Odpowiedz

26

Można użyć atrybutu configSource, aby poinformować strukturę o załadowaniu określonej sekcji z innego pliku.

Na przykład, jeśli miał plik konfiguracyjny o przekroju jak ten:

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

Można zastąpić go:

<connectionStrings configSource="ConnectionStrings.config" /> 

... i utworzyć plik ConnectionStrings.config z treścią oryginalnej sekcji (w tym węzeł <connectionStrings> - dokładnie taki sam, jak moja pierwsza sekcja kodu powyżej).

+0

To jest świetne! Od tak dawna szukam sposobu, aby to zrobić i przez cały czas był przede mną. – grimus

+0

Problem polega na tym, że wydaje się zawierać tylko ciągi połączeń, ale nie pomaga, gdy próbujesz dołączyć sekcje konfiguracji z innych plików. – Kjellski

+1

@Kjellski Mogę zapewnić, że 'configSource' działa dla wszystkich elementów. Zasugeruj, aby przeczytać, jak to działa: http://weblogs.asp.net/fmarguerie/archive/2007/04/26/using-configsource-to-split-configuration-files.aspx –

Powiązane problemy