2011-02-10 4 views
0

Visual Studio 프로젝트에 "myFolder"폴더를 추가했는데, 어떻게 실행하고 현재 위치에서 파일을 읽습니까 ??? ???내 응용 프로그램 경로는 어디에 있습니까?

. \ < - 작동하지 않는 것 같습니까?

1)

System.Diagnostics.ProcessStartInfo start = new System.Diagnostics.ProcessStartInfo(); 
    start.FileName = @".\myFolder\app.exe" + " -q " + "http://www.google.com " + " output.pdf"; 
    start.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 

등 ... 등 ...

2)

FileStream fs = File.OpenRead(@".\myFolder\output.pdf"); 

답변

1

해당 디렉터리의 프로젝트에 추가 된 항목에 Copy To Output Directory 값이 다른 값으로 설정되어 있지 않으면 솔루션 탐색기를 사용하여 만든 폴더가 출력 디렉터리 (실행 파일이있는 위치)에 복사되지 않습니다. 복사하지 마십시오. 솔루션 탐색기를 사용하여 빈 디렉토리를 만든 경우 디렉토리가 출력 경로에 존재하지 않을 가능성이 높습니다.

이 코드는 응용 프로그램의 출력 경로에 sicnificant 예외 처리는이 코드에 포함되지 않은 것을

var directoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "YourDirectoryName"); 
     if (!Directory.Exists(directoryPath)) 
      Directory.CreateDirectory(directoryPath); 

주 디렉토리를 만들 것이다, I/O는 하나가 수행 할 수있는 더 많은 예외가 발생하기 쉬운 활동 중 하나입니다 따라서 충분한 오류 처리가 있는지 확인하십시오. 당신이 빌드 프로세스의 일부로 생성 된 디렉토리 외부 빌드 명령으로 mkdir을 실행하거나 MakeDir MSBuild Task

를 사용하여 볼 수 있었다 중 하나를 가지고 싶었다면

1

당신은 바이너리를 포함하는 디렉토리를 얻을 수 System.AppDomain.CurrentDomain.BaseDirectory를 사용할 수 있습니다. 여기에서 하위 디렉토리로 이동할 수 있습니다.

프로젝트에 추가 한 폴더의 파일에 대한 속성 창에서 '출력 디렉터리로 복사'를 선택했는지 확인하십시오. 그러면 응용 프로그램을 컴파일 할 때 해당 파일이 bin 디렉터리에 복사됩니다.

관련 문제