Risposte:
Un metodo:
System.AppDomain.CurrentDomain.BaseDirectory
Un altro modo per farlo sarebbe:
System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
Eccone un altro:
System.Reflection.Assembly.GetExecutingAssembly().Location
Puoi anche usare il primo argomento degli argomenti della riga di comando:
String exePath = System.Environment.GetCommandLineArgs()[0]
Ho usato semplicemente string baseDir = Environment.CurrentDirectory;
e il suo lavoro per me.
In bocca al lupo
Modificare:
Ho usato per eliminare questo tipo di errore, ma preferisco modificarlo perché penso che il punto negativo su questa risposta aiuti le persone a conoscere il modo sbagliato. :) Ho capito che la soluzione sopra non è utile e l'ho cambiata in string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory;
Altri modi per ottenerla sono:
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);
In bocca al lupo
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
string dir = Path.GetDirectoryName(exePath);
Prova questo!
Ho provato questo:
label1.Content = Directory.GetCurrentDirectory();
e ottieni anche la directory.