Odpowiedzi:
Jedna metoda:
System.AppDomain.CurrentDomain.BaseDirectory
Innym sposobem na zrobienie tego byłoby:
System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
Oto kolejny:
System.Reflection.Assembly.GetExecutingAssembly().Location
Możesz także użyć pierwszego argumentu argumentów wiersza poleceń:
String exePath = System.Environment.GetCommandLineArgs()[0]
Użyłem po prostu string baseDir = Environment.CurrentDirectory;
i to działa dla mnie.
Powodzenia
Edytować:
Kiedyś usuwałem ten typ błędu, ale wolę go edytować, ponieważ myślę, że minus w tej odpowiedzi pomaga ludziom dowiedzieć się o złym sposobie. :) Zrozumiałem, że powyższe rozwiązanie nie jest przydatne i zmieniłem je na string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory;
Inne sposoby, aby je uzyskać:
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);
Powodzenia
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
string dir = Path.GetDirectoryName(exePath);
Spróbuj tego!