2013년 1월 25일 금요일

C# 프로그램 실행경로 알아 내기


C#에서 현재 경로를 알아내는 방법은 여러가지가 있다.
  • System.Environment.CurrentDirectory
  • System.IO.Directory.GetCurrentDirectory()
  • Application.StartupPath
위의 각 방법들에 대해서 살펴보자.

1. System.Environment.CurrentDirectory
가장 쉽게 현재 실행 경로를 알아낼 수 있는 방법이다. 하지만 이 방법은 Register에 등록된 프로그램으로 실행되면 다른 값을 출력한다. 이때는 3번 Application.StartupPath를 이용해야 한다.
루트일 경우에는 ‘\’ 반환, 그 외의 경우에는 폴더명까지만 반환한다. 다음은 호출하였을 경우의 결과 값이다.

2. System.IO.Directory.GetCurrentDirectory()
1번과 동일하다.

3. Application.StartupPath
위의 Register에 등록되었을 때도 정상적으로 자신의 시작 경로를 반환한다. 하지만 이는 Window Forms를 사용할 때만 Application 클래스를 사용할 수 있기 때문에 Console 기반 혹은, 클래스 라이브러리 기반에서는 사용이 불가능하다.

Tip. Application.ExecutablePath
현재 실행된 어플리케이션의 실행 파일의 위치이다. 이 정보는 현재 경로가 아니기 때문에 변경되지 않는다. 다음은 호출하였을 경우의 결과 값이다.

위의 방법들을 조합하여 가져올 수 있다.

댓글 없음: