Respuestas:
Un método:
System.AppDomain.CurrentDomain.BaseDirectory
Otra forma de hacerlo sería:
System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
Aquí está otro:
System.Reflection.Assembly.GetExecutingAssembly().Location
También puede usar el primer argumento de los argumentos de la línea de comandos:
String exePath = System.Environment.GetCommandLineArgs()[0]
Solía simple string baseDir = Environment.CurrentDirectory;
y su trabajo para mí.
Buena suerte
Editar:
Solía eliminar este tipo de error, pero prefiero editarlo porque creo que el punto negativo de esta respuesta ayuda a las personas a saber de manera incorrecta. :) Comprendí que la solución anterior no es útil y la cambié a string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory;
Otras formas de obtenerla son:
1. string baseDir =
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
2. String exePath = System.Environment.GetCommandLineArgs()[0];
3. string appBaseDir = System.IO.Path.GetDirectoryName
(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
Buena suerte
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
string dir = Path.GetDirectoryName(exePath);
¡Prueba esto!
Intenté esto:
label1.Content = Directory.GetCurrentDirectory();
y obtener también el directorio