8

Mam rozwiązanie w Visual Studio 2008, który zawiera wiele projektów C#. Każdy projekt ma swój własny plik konfiguracyjny (App.config i Settings.settings). Ma to sens pod względem architektonicznym, ponieważ każdy moduł jest autonomiczny i jest wykorzystywany w wielu różnych rozwiązaniach.Łączenie wielu plików konfiguracyjnych w Visual Studio

Mój problem polega na tym, że podczas kompilacji rozwiązania uwzględniany jest tylko plik konfiguracyjny dla projektu startowego (lub projektu zawierającego plik wykonywalny). W przypadku innych modułów ustawienia konfiguracyjne są kompilowane do biblioteki DLL. Moje pytanie brzmi: czy w Visual Studio jest jakiś sposób łączenia wielu plików konfiguracyjnych lub łączenia ich w taki sposób, aby ustawienia bibliotek DLL mogły być zmieniane w czasie wykonywania?

Odpowiedz

5

Nie jestem pewien, czy to jest to, czego szukasz, lub jeśli to pomoże, ale jako punkt wyjścia do eksploracji obszaru, pamiętaj, że możesz połączyć dwa pliki konfiguracyjne. Na przykład, mam ciąg połączenia w oddzielnym pliku, więc moja linia connectionStrings w Web.config brzmi:

<connectionStrings configSource="WebCS.config"/> 

Następnie w osobnym pliku, mam:

<connectionStrings> 
    <add name="BSDIConnString" 
     connectionString="Data Source=XXX;Initial Catalog=XXX;User ID=XXX;Password=XXX" 
     providerName="System.Data.SqlClient"/> 
</connectionStrings> 
+1

Btw, to configSource atrybut trik działa tylko dla config _sections_ [connectionStrings jest predefiniowaną sekcją konfiguracji dotNET], i możesz potrzebować napisać własną niestandardową procedurę obsługi sekcji konfiguracji dla każdej niestandardowej sekcji konfiguracji, aby umożliwić (zdecydowanie wpisany) programowy dostęp do twojej konfiguracji. –

0

Po więcej kopania, Uważam, że to całkiem użyteczne słupek

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/2710647c-6414-42c4-90b7-fd7603f55ae0/

wszelki wypadek ktoś prowadzi do tego samego problemu, powyższe wydaje się być najbardziej praktycznym sposobem na poruszanie się po nim. Chociaż uwaga, ze to rozwiązanie tworzenia pakietów instalacyjnych może stać się nudny:

http://bytes.com/groups/net-c/498720-app-config-dll-not-getting-added-setup-project