ASP.NET虚拟目录_within_ VS2008

时间:2009-06-24 16:04:18

标签: asp.net visual-studio-2008 virtual-directory

我正在构建一个ASP.NET 3.5 Web应用程序。当我运行项目(使用Visual Studio的内置服务器)时,它需要能够作为虚拟目录访问网络共享。我似乎无法找到有关如何执行此操作的任何信息。

网络资源非常庞大,经常更新,并被其他开发人员和其他项目项目使用 - 不仅仅是我和我的。

我知道一旦部署了站点,我就可以在网络路径上创建一个IIS虚拟目录,但是在我调试时这对我没有帮助。

2 个答案:

答案 0 :(得分:3)

您无法使用Web开发服务器执行此操作。它用于调试单个应用程序,而不是依赖于多个虚拟目录的应用程序。

它如何引用映射到共享的虚拟目录?通过重定向到该虚拟目录下的资源?如果是这样,那么在调试期间,您是否可以将其重定向的位置更改为IIS虚拟目录?

答案 1 :(得分:0)

现在可以同时具有虚拟目录和子应用程序以及更高版本的Visual Studio和IIS Express。

  1. 在您选择的文本编辑器中打开.vs\All\config\applicationhost.config,然后导航到configuration/system.applicationHost/sites节点。

  2. 更新与您的父应用程序相对应的site元素,如下所示:

原文:

<site name="Web" id="1">
    <!-- parent application -->
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <!-- application root -->
        <virtualDirectory path="/" physicalPath="C:\Src\Web" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:5706:localhost" />
        <binding protocol="https" bindingInformation="*:44300:localhost" />
    </bindings>
</site>

已修改:

<site name="Web" id="1">
    <!-- parent application -->
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <!-- application root -->
        <virtualDirectory path="/" physicalPath="C:\Src\Web" />
        <!-- virtual directory -->
        <virtualDirectory path="/DocRoot" physicalPath="C:\Src\DocRoot" />
    </application>
    <!-- sub-application -->
    <application path="/FooBar" applicationPool="Clr4IntegratedAppPool">
        <!-- application root -->
        <virtualDirectory path="/" physicalPath="C:\Src\Foo Bar" />
        <!-- virtual directory; shared with parent app, so must be duplicated -->
        <virtualDirectory path="/DocRoot" physicalPath="C:\Src\DocRoot" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:5706:localhost" />
        <binding protocol="https" bindingInformation="*:44300:localhost" />
    </bindings>
</site>
  1. 保存并重新启动IIS Express。