项目中的虚拟目录

Virtual directory in the project

在站点下的 IIS 中,我可以创建一个具有不同物理路径的虚拟目录。 我能以某种方式在 ASP.NET MVC 项目中做同样的事情吗?比如添加一个链接到不同目录的目录。

问题是我在站点外有一些包含图像的文件夹。我将该文件夹添加到 IIS 站点下的 Dropbox,它指向完全不同的位置:

现在我也在应用程序中使用这样的路径 Server.MapPath:

"~/Dropbox/Dev/Product/Images"

当我在 IIS 中发布时,这一切都有效。但是我怎样才能在本地进行同样的调试呢?有没有办法将虚拟目录添加到我在 Visual Studio 中的项目?

我假设您是 运行 使用 IIS Express 的网站。您可以通过右键单击 IIS Express 托盘图标然后显示所有应用程序来找到您网站的 IIS Express 配置文件。 Select你的网站然后点击配置路径如截图所示

在配置文件中,找到您的网站 site 元素,然后您可以像这样添加新的 virtualDirectory 元素:

 <site name="Website1" id="2">
                <application path="/" applicationPool="website1">
                    <virtualDirectory path="/" physicalPath="D:\Projects/Website1" />
                    <virtualDirectory path="/Images" physicalPath="C:/Images" />
                </application>
                <bindings>
                  <binding protocol="http" bindingInformation="*:54558:localhost" />
               /bindings>
            </site>

这里可以看到添加了Images虚拟目录。