2014-02-27 2 views
1

나는 내 프로젝트의 bin 폴더가 될 것입니다 가정 무엇에 테스트 파일을 저장이 코드를 가지고 :이 파일이 기본적으로 IIS Express 폴더에 저장되는 이유는 무엇입니까?

XDocument doc = XDocument.Parse(stringifiedXML); 
doc.Save("testXMLFile.xml"); 

을 ...하지만 실제로 C에 결국 : \의 Program Files (x86) \ IIS Express

예, IIS Express는이 웹 API 응용 프로그램을 호스팅하고 있습니다. 응용 프로그램을 Visual Studio에서 실행할 때 파일이 프로젝트의 bin 폴더에 저장 될 것으로 예상됩니다. 왜?

내가 파일과 같이 저장 할 위치를 바로 지정할 수 있습니다 :

// In PlatypusGlobals.cs 
public static string appDataFolder = HttpContext.Current.Server.MapPath("~/App_Data/"); 

doc.Save(string.Format("{0}testXMLFile2.xml", PlatypusGlobals.appDataFolder)); 

을 ...하지만 여전히 bin 디렉토리로 이동합니다 "원료 저장"선호 할 것입니다. 이 설정을 구성 할 수 있습니까? 아니면 IIS Express 폴더에 파일을 저장하면됩니다.

+1

기본적으로 웹 사이트의 현재 실행 경로에서 저장됩니다. 이것이 당신이 행동을 경험하는 이유입니다. –

답변

4

나는 프로그램이 어떻게 실행되는지 오해하고 있다고 생각합니다. 그것은 Visual Studio에서 "결코"실행되지 않습니다. IIS Express에서 실행되며 Visual Studio가이 프로그램에 연결됩니다.

이 프로그램은 IIS Express에서 실행되므로 프로그램의 실행 파일 경로는 IIS Express 디렉터리 아래에 있습니다. bin 폴더에서 직접 dll을 실행하는 가상 디렉터리를 생성하기 때문에 전체 IIS의 로컬 설치를 사용하면이 작업이 달라집니다.

관련 문제