我正在构建一个ASP.NET 3.5 Web应用程序。当我运行项目(使用Visual Studio的内置服务器)时,它需要能够作为虚拟目录访问网络共享。我似乎无法找到有关如何执行此操作的任何信息。
网络资源非常庞大,经常更新,并被其他开发人员和其他项目项目使用 - 不仅仅是我和我的。
我知道一旦部署了站点,我就可以在网络路径上创建一个IIS虚拟目录,但是在我调试时这对我没有帮助。
答案 0 :(得分:3)
您无法使用Web开发服务器执行此操作。它用于调试单个应用程序,而不是依赖于多个虚拟目录的应用程序。
它如何引用映射到共享的虚拟目录?通过重定向到该虚拟目录下的资源?如果是这样,那么在调试期间,您是否可以将其重定向的位置更改为IIS虚拟目录?
答案 1 :(得分:0)
现在可以同时具有虚拟目录和子应用程序以及更高版本的Visual Studio和IIS Express。
在您选择的文本编辑器中打开.vs\All\config\applicationhost.config
,然后导航到configuration/system.applicationHost/sites
节点。
更新与您的父应用程序相对应的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>