Encontré soluciones para Windows Forms con AppDomain pero, ¿cuál sería el equivalente para un Application
objeto WPF ?
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!
Prueba esto. No se olvide using System.Reflection
.
string baseDir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Intenté esto:
label1.Content = Directory.GetCurrentDirectory();
y obtener también el directorio
¡También puede usar libremente Application.StartupPath desde System.Windows.Forms, pero debe agregar una referencia para el ensamblado System.Windows.Forms!