2010-06-02 13 views
11

Powodem, dla którego zadałem this question jest to, że chciałem utworzyć klasę pomocniczą dla instancji Remoting i chciałem przekazać odpowiednią ścieżkę pliku app.exe.config (lub web.config) do metoda RemotingConfiguration.Configure, w zależności od osoby dzwoniącej.Pobierz ścieżkę do pliku konfiguracyjnego bieżącej aplikacji

Czy istnieje sposób mogę uzyskać nazwę pliku konfiguracyjnegodla zarówno wygrać i Web Apps bez sprawdzania, czy aplikacja jest Web lub WinForms?

Odpowiedz

12

Użyłem

string folder = System.Web.HttpContext.Current != null ? 
    System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_data") : 
    System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); 

bez problemów, ale może jest kilka przypadków narożne nie wiem o ...

+0

Mam wielką literę "D" dla "App_Data". – John

3

Aby znaleźć lokalizację wykonywania aplikacji

System.Reflection.Assembly.GetExecutingAssembly().Location; 

Nie wiem o wypadku internetowej.

+0

Przypuszczam chodziło 'System.Reflection.Assembly.GetExecutingAssembly() Lokalizacja. +„.config”', ale faktycznie muszę rozwiązanie, które będzie pracować dla obu aplikacji. – dummy

16

Pozwoli to uzyskać albo web.config lub i aplikacji. config (yourprogram.exe.config) lokalizacja.

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 
+1

Naprawdę powinieneś mieć trochę wyjaśnienia wraz z tym ... – hyde

+4

Szczerze mówiąc, ta odpowiedź wydaje mi się całkiem niezrozumiała; nazwy członków są niesamowicie opisowe. – Brian

Powiązane problemy