2010-06-02 16 views
11

Il motivo per cui ho chiesto this question è che volevo creare una classe helper per l'istanza di Remoting e volevo passare il percorso del file app.exe.config (o web.config) appropriato a il metodo RemotingConfiguration.Configure, a seconda del chiamante.Ottieni il percorso del file di configurazione dell'applicazione corrente

C'è un modo ho potuto ottenere il nome del file di configurazione per sia vincere e Web apps senza verificare se l'applicazione è web o WinForms?

risposta

12

Ho usato

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); 

senza problemi, ma forse c'è qualche caso Corner Io non conosco ...

+0

Ho la lettera maiuscola "D" per "App_Data". – John

3

Per trovare la posizione di eseguire applicazioni

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

Non so caso web.

+0

Presumo che dire 'System.Reflection.Assembly.GetExecutingAssembly(). Posizione + ".config"', ma in realtà ho bisogno di una soluzione che avrebbe funzionato per entrambe le applicazioni. – dummy

16

Questo otterrà né il web.config o e app. posizione config (yourprogram.exe.config).

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 
+1

Dovresti davvero avere un po 'di spiegazione insieme a questo ... – hyde

+4

Onestamente, questa risposta mi sembra abbastanza auto-esplicativa; i nomi dei membri sono incredibilmente descrittivi. – Brian

Problemi correlati