2010-06-02 16 views
11

La razón por la que pregunté this question es que quería crear una clase de ayuda para la creación remota de instancias y quería pasar la ruta del archivo app.exe.config (o web.config) correspondiente a el método RemotingConfiguration.Configure, dependiendo de la persona que llama.Obtener la ruta de archivo del archivo de configuración de la aplicación actual

¿Hay alguna manera de que pudiera obtener el nombre del archivo de configuración para tanto Win y Web aplicaciones sin comprobar si la aplicación es web o Windows Forms?

Respuesta

12

He usado

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

sin problemas, pero tal vez hay algo de casos de esquina que no conozco sobre ...

+0

Tengo la letra mayúscula "D" para "App_Data". – John

3

para encontrar la ubicación de la ejecución de la aplicación

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

No sabe sobre el caso web.

+0

Supongo que quería decir 'System.Reflection.Assembly.GetExecutingAssembly(). Lugar + ".config" ', pero en realidad necesito una solución que funcione para ambas aplicaciones. – dummy

16

Esto hará que sea el web.config o y aplicación. config (yourprogram.exe.config) ubicación.

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 
+1

Realmente debería tener un poco de explicación junto con eso ... – hyde

+4

Honestamente, esta respuesta me parece bastante autoexplicativa; los nombres de los miembros son increíblemente descriptivos. – Brian

Cuestiones relacionadas