为什么此文件默认保存到IIS Express文件夹?

B. *_*non 2 c# bin visual-studio iis-express asp.net-web-api

我有这个代码将测试文件保存在我认为是我项目的bin文件夹中:

XDocument doc = XDocument.Parse(stringifiedXML);
doc.Save("testXMLFile.xml"); 
Run Code Online (Sandbox Code Playgroud)

...但实际上它最终出现在C:\ Program Files(x86)\ IIS Express中

是的,IIS Express正在托管这个Web 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));
Run Code Online (Sandbox Code Playgroud)

...但仍然希望"原始保存"转到bin目录.这是可配置的,还是我只需要将文件保存到IIS Express文件夹中?

Tim*_*ver 5

我认为你误解了程序的执行方式.它永远不会从"Visual Studio"执行.它从IIS Express执行,Visual Studio附加到它.

由于此程序在IIS Express下执行,因此程序的可执行路径位于IIS Express目录下.如果您使用完整IIS的本地安装,则会有所不同,因为它会创建一个直接从bin文件夹运行dll的虚拟目录.