2012-10-03 6 views
0

내 EXE의 경로는 c:\dev\source\project1\bin\debug\app.exe내 WPF의 exe 경로에없는 파일을 찾으십니까?

하지만 내 XML 파일은 내가 지금 내가 절대 URL을 하드 코딩되었습니다, 런타임에 XML 파일을로드 할 수있는 방법 c:\dev\source\project1\file.xml

에 위치하고 있습니다,하지만 난하지 않습니다 이런 식으로하고 싶다. 나는 위치 나 최종 사용자를 변경하면 시나리오에 어떻게됩니까

file.xml 나는 다시 일을 변경해야 할 것 sub라는 project1에서 하위 디렉토리로 이동됩니다, 예를 들어, 다른 위치에 파일을 이동합니다. 파일이 있는지 걱정할 필요가없는 방법이 있습니까?

답변

1

c:\dev\source\project1\bin\debug\에서 XML 파일의 복사본을 넣어되고 exe를 같은 폴더에있는 버전의 프로그램을 참조하는이 Copy Always 또는 Copy if Newer이에 Copy to Output Directory을 설정합니다.

enter image description here

+0

위대한 작품. 'Environment.CurrentDirectory' 또는'AppDomain.CurrentDomain.BaseDirectory'를 사용하는 것이 더 좋습니까? 아니면 항상 실행 파일의 디렉토리가 될 수있는 뭔가가 있습니까? – Xaisoft

+0

그냥 Build Action을 Content로 변경해야한다는 것을 지적했습니다. 기본적으로 자원입니다. – Xaisoft

+0

최종 사용자가 XML 파일을 편집해야합니까? –

0

app.config 파일에서 XML 파일의 경로를 지정하기 만하면됩니다. 경로가 변경되면 하드 코딩 및 EXE 컴파일에 대해 걱정할 필요가 없습니다. 구성에서 경로를 변경하기 만하면됩니다. 솔루션 탐색기는 XML 파일로 이동하여에서

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
    <add key="xmlFile" value="c:\dev\source\project1\file.xml"/> 
    </appSettings> 
</configuration> 
+0

사용자가 엉망이 가서 이것을의 app.config을 변경하도록 요구하지 않을 다음, 디렉토리 이름 및 파일 이름을 변경하기로 결정하면 – Xaisoft

+0

예, 파일 경로를 변경시, 사용자는 자신의를 구성 할 수 있습니다 설정 파일에서 xml의 새로운 경로. –

관련 문제