2014-02-27 8 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의 로컬 설치를 사용하면이 작업이 달라집니다.