답변:
한 가지 방법 :
System.AppDomain.CurrentDomain.BaseDirectory
다른 방법은 다음과 같습니다.
System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
여기 또 다른 것이 있습니다 :
System.Reflection.Assembly.GetExecutingAssembly().Location
명령 행 인수의 첫 번째 인수를 사용할 수도 있습니다.
String exePath = System.Environment.GetCommandLineArgs()[0]
나는 간단하게 string baseDir = Environment.CurrentDirectory;
그 작업을 사용 했다.
행운을 빕니다
편집하다:
나는이 유형의 실수를 삭제하는 데 사용했지만이 답변의 마이너스 포인트가 사람들이 잘못된 방법을 아는 데 도움이된다고 생각하기 때문에 편집하는 것을 선호합니다. :) 위의 솔루션이 유용하지 않다는 것을 이해했으며 string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory;
다른 방법으로 변경했습니다 .
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);
행운을 빕니다
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
string dir = Path.GetDirectoryName(exePath);
이 시도!