2010-04-24 3 views
3

경로와 관련하여 도움이 필요합니다. 내가 복사 할 필요없이 응용 프로그램과 함께 사용하기위한 파일들을 충실 할 수있는 공통의 폴더를 가질 필요가이 프로젝트에 지금C#의 상대 경로

Project (root directory which contains the .sln file etc.) 
Project/MyProj (contains the code) 
Project/MyProjTest (the test folder) 
Project/TestResults 

:

는 기본적으로 나는 다음과 같은 폴더 구조와 프로젝트가 여러 위치에 파일 등.이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 이상적으로 코드 폴더와 테스트 폴더가 모두 액세스 할 수 있도록 Project/ResourcesFolder라는 폴더를 갖고 싶습니다. 지금이 경우 C#에서이 폴더를 어떻게 호출합니까? 나는 Application.StartupPath, Environment.GetCurrentDirectory를 시도했지만 둘 다 내가 원하는 바가 아닌 CURRENT 폴더를 리턴한다.

미리 감사드립니다.

+0

Oded와 phimuemue의 답변을 결합하면됩니다. –

답변

1

솔루션 폴더를 솔루션에 추가하고 공통 파일을 배치 할 수 있습니다.

0

..은 하나의 디렉토리가됩니다. 즉, Project/MyProjTest에서 Project/MyProj../MyProj을 통해 액세스 할 수 있습니다.

+0

하지만 Project/MyProjTest 및 Project/MyProjTest/SomeOtherFolder에서 공용 폴더에 액세스해야한다면 어떻게해야합니까? – Suraj

0

응용 프로그램의 루트 폴더로 이동하려면 Server.MapPath ("~")를 사용하십시오. 거기에서 당신이 필요로하는 곳으로 갈 수 있습니다.

1

파일을 복사해야합니다. 프로그램을 배포 한 후에도 동일한 방식으로 작동해야합니다. 가장 간단한 방법은 프로젝트에 추가하는 것입니다. 속성 창에서 Build Action = None, Copy to Output Directory = Copy if Newer를 설정하십시오. 후자의 설정은 파일을 반복해서 복사하는 데 시간을 낭비하지 않도록합니다.

이렇게하면 EXE 파일과 동일한 디렉터리에 파일이 저장됩니다. 디버깅 할 때와 배포 한 후에 모두. Application.StartupPath를 사용하여 위치를 찾습니다. 이제 앱 설치 프로젝트를 만드는 것이 매우 간단합니다.

파일이 작 으면 파일을 리소스로 포함하려고합니다.