안녕하세요. 명월입니다.
이 글은 C#에서 프로그램 실행 경로(Path)에 대한 글입니다.
프로그램을 만들때 파일을 읽어 드리거나 쓰는 경우가 많습니다. 그럴 때 경로를 어떻게 설정하는 가에 대해 고민이 많습니다.
별 고민 없이 하는 방법은 절대 경로로 만들면 아주 간단합니다만 사람마다 사용하는 환경이 다 다르기 때문에 배포 프로그램을 만든다고 할 때 절대 경로는 사용할 수 없습니다.
그럼 결국은 상대 경로를 사용해야 하는데 상대 경로는 어떤 기준으로 만드나 할 때, 보통 프로그램이 실행되는 위치를 기준으로 작성하는 경우가 많습니다.
그 때 실행하는 위치를 어떻게 가져올까하는 것입니다.
System.Environment.CurrentDirectory
AppDomain.CurrentDomain.BaseDirectory
위 방법 어느 방법으로 해도 결과는 같습니다.
그런데 차이가 뭐라고하면 CurrentDirectory의 경우는 여러 DLL를 낄 경우 데이터가 바뀔 수도 있다고 하네요. 정확한 것은 AppDomain.CurrentDomain.BaseDirectory 이게 맞다고 합니다.
구성 파일을 읽어 드릴 때는 다음 소스를 사용합니다.
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
이건 조사하다가 저도 처음 알았네요...
참조 - https://docs.microsoft.com/en-us/dotnet/api/system.appdomain.basedirectory?view=netframework-4.8
이 실행 경로를 취득하는 소스는 상당히 매우 많이 사용하는 경우가 많습니다.
여러 사람들이 도움이 되었으면 합니다.
'Development note > C#' 카테고리의 다른 글
[C#] 환경설정 파일을 다루는 방법(System.Configuration) (0) | 2019.06.26 |
---|---|
[C#] Compare 함수의 결과 (0) | 2019.06.24 |
[C#] HttpConnection을 이용해서 웹 페이지 가져오기 (0) | 2019.06.20 |
[C#] Base64 인코딩, 디코딩하는 방법 (0) | 2019.06.18 |
[C#] NSoup 라이브러리 (XML, HTML 파서) (0) | 2019.06.06 |
[C#] Gecko 라이브러리 (웹 스크래핑) (3) | 2019.06.06 |
[C#] Zip 압축 코드 소스 (3) | 2019.06.03 |
[C#] System.Net.Mail을 이용하여 메일 보내기 (0) | 2019.05.28 |