을 로드하는 방법에 상대적인 경로에 WPF 응용 프로그램?
문제
나 xml 파일을 읽을 만들고 싶어 그것을 상대로부터 디렉토리의 위치를 기반으로 하는 응용 프로그램과 유사한 ASP.NET 으로 서버입니다.MapPath 거나 사용하는 틸다.
당신이 얻을 수있는 방법에 상대적인 경로에 WPF?
WORKS: XDocument xmlDoc = XDocument.Load(@"c:\testdata\customers.xml");
DOES NOT WORK: XDocument xmlDoc = XDocument.Load(@"~\Data\customers.xml");
DOES NOT WORK: XDocument xmlDoc = XDocument.Load(@"~/Data/customers.xml");
해결책
XDocument xmlDoc = XDocument.Load(@"Data\customers.xml");
나
XDocument xmlDoc = XDocument.Load(@".\Data\customers.xml");
BTW,이는 아무것도 할 WPF 과 모든 것과 함께 할 Windows 경로입니다.
다른 팁
XDocument xmlDoc = XDocument.Load(
Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
@"Data\customers.xml"));
나는 가정 Data
디렉터리입니다 얻을 것과 함께 배포,응용 프로그램은 동일한 루트 디렉토리로 EXE.이것은 일반적으로 안전 경우를 제외하고,섀도우 복사하는 것은 참여;예를 들어,사용할 때 NUnit 이 테스트를 위해 코드입니다.(그림자와 함께 복제,어셈블리는 응용 프로그램을 얻을 복사한 임시 디렉토리지만,파일은 다음과 같이 왼쪽 뒤에 있습니다.)
고 가정하고 당신이 계획되지 않을 수정 customers.xml
후에 배포하는 가장 안전한 방법을 처리하는 파일을 포함하는 자원으로 내에서의 어셈블리입니다.
도 File.Create("./HiImHere.txt")
이 어디에 있는지 점 directory;그 후에도 상대적인 경로는 HiImHere.txt
입니다.
제휴하지 않습니다 StackOverflow