C# MapPath(virtualPath)返回控制器的根目录,也不返回IIS中虚拟目录中提到的物理路径
我已经创建了一个虚拟目录“myVirtualFile” 虚拟路径为“\myVirtualFile” 我已将物理路径指定为“D:\Home\myProject\Files” 下面是我的代码C# MapPath(virtualPath)返回控制器的根目录,也不返回IIS中虚拟目录中提到的物理路径,c#,asp.net-mvc-4,iis,C#,Asp.net Mvc 4,Iis,我已经创建了一个虚拟目录“myVirtualFile” 虚拟路径为“\myVirtualFile” 我已将物理路径指定为“D:\Home\myProject\Files” 下面是我的代码 var virtualpath="/myVirtualFile\UserManual"; var resultPath=Server.MapPath(virtualpath); 输出结果路径包含“D:\Home\myProject\Web\client\myVirtualFile\UserManual” 预期
var virtualpath="/myVirtualFile\UserManual";
var resultPath=Server.MapPath(virtualpath);
输出结果路径包含“D:\Home\myProject\Web\client\myVirtualFile\UserManual”
预期输出为“D:\Home\myProject\Files”。它返回我的项目的文件夹结构。我没有返回我在虚拟目录中提到的物理路径。解决了这个问题。
我在development server中运行我的项目。已解决从development server运行到IIS的项目更改问题。现在,server.MapPath(virtualPath)返回虚拟目录中提到的确切物理路径
重新解析步骤
1.右键单击解决方案下的启动项目
2.单击属性选项
3.在右窗格中选择web选项
4.以前选择了“使用Visual Studio开发服务器”单选按钮。而不是选择“使用本地IIS Web服务器”单选按钮
5.将项目URL输入为“”
6.保存项目
完成这些步骤后,Server.MapPath(virtualPath)返回虚拟目录中提到的确切物理路径