2010-05-26 21 views
6

Una pregunta bastante simple; ¿Cómo encontrar la ruta del directorio local en el que se encuentra mi exe? As-in Tengo un .exe y en el programa tengo que crear un archivo txt en el directorio donde está el exe.Ruta del directorio local

[idioma - C#]

lo tanto, si el exe se encuentra en C:/Temp y se inicia a partir de ahí; mi txt debe crearse en C:/Temp

Si el usuario desea mover el exe a D:/Temp y se ejecuta desde allí; Debería poder crear el archivo txt en D:/Temp

Probé el Directory.GetCurrentDirectory() pero eso devuelve el directorio de la ejecución del programa!

Respuesta

15

Assembly.GetExecutingAssembly().Location

+9

La clase "Assembly" es parte del espacio de nombres System.Reflection - para aquellos que estarían buscando eso ... –

0

Usted podría intentar esto:

this.GetType().Assembly.CodeBase 

o si se trata de una aplicación de Windows Forms

Application.ExecutablePath 
6

probar este

sPath = System.AppDomain.CurrentDomain.BaseDirectory; 

o de lo contrario

sAppPath = Environment.CurrentDirectory; 
1

Encontrará información similar en System.Appdomain.BaseDirectory, el directorio base que el ensamblador de resolución utiliza para buscar ensamblajes. En casos simples, esto apuntará a la ubicación del ensamblaje original .exe.

String path = AppDomain.CurrentDomain.BaseDirectory; 
0

Puede utilizar Application.StartupPath. Obtiene la ruta del archivo ejecutable que inició la aplicación, sin incluir el nombre del ejecutable.

+1

Al ejecutar desde el depurador en VS 2010 que resuelve a "C: \ Archivos de programa (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE ". –

Cuestiones relacionadas