Antworten:
Eine Methode:
System.AppDomain.CurrentDomain.BaseDirectory
Ein anderer Weg wäre:
System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
Hier ist noch einer:
System.Reflection.Assembly.GetExecutingAssembly().Location
Sie können auch das erste Argument der Befehlszeilenargumente verwenden:
String exePath = System.Environment.GetCommandLineArgs()[0]
Ich habe einfach string baseDir = Environment.CurrentDirectory;
und seine Arbeit für mich verwendet.
Viel Glück
Bearbeiten:
Früher habe ich diese Art von Fehler gelöscht, aber ich bevorzuge es, sie zu bearbeiten, weil ich denke, dass der Minuspunkt in dieser Antwort den Leuten hilft, über den falschen Weg Bescheid zu wissen. :) Ich habe verstanden, dass die obige Lösung nicht nützlich ist und ich habe sie in string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory;
Andere Möglichkeiten geändert , um sie zu erhalten:
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);
Viel Glück
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
string dir = Path.GetDirectoryName(exePath);
Versuche dies!
Ich habe es versucht:
label1.Content = Directory.GetCurrentDirectory();
und hol dir auch das verzeichnis.