Visual studio 2015 未在IIS Express VS 2015中将虚拟目录配置为应用程序

Visual studio 2015 未在IIS Express VS 2015中将虚拟目录配置为应用程序,visual-studio-2015,iis-express,virtual-directory,applicationhost,Visual Studio 2015,Iis Express,Virtual Directory,Applicationhost,我有两个网站(网络应用程序) 韦巴彭 WebAppTwo 两者都在Visual Studio 2015的IIS Express上运行 这是我的applicationhost.config <site name="WebAppOne" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualD

我有两个网站(网络应用程序)

  • 韦巴彭
  • WebAppTwo
两者都在Visual Studio 2015的IIS Express上运行

这是我的applicationhost.config

<site name="WebAppOne" id="2">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="C:\Projects\WebAppOne\trunk" />
                    <virtualDirectory path="/SubApp" physicalPath="C:\Projects\WebAppOne\trunk\WebAppTwo" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:8181:localhost" />
                </bindings>
            </site>

当我在IIS Express上从Visual Studio运行WebAppOne时,它正确地指向虚拟目录,但在权限方面出错

在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的。此错误可能是由于未将虚拟目录配置为应用程序造成的

我如何解决这个问题,坚持在调试模式下从VisualStudio运行IIS Express

解决方案:感谢@Lex Li

您对配置文件的理解不正确。第二个项目应配置为一个单独的应用程序,其自己的根虚拟目录指向项目文件夹


您当前的配置错误地将其设置为第一个应用程序下的第二个虚拟目录,然后其web.config将导致此错误。

谢谢您指出。现在我可以让我的物理路径是相对路径,而不是绝对路径。基于谷歌搜索,我认为这是不可能的。不知道是否有解决方法。@HaBo它必须是绝对路径,因为这里不能使用基本目录信息来支持相对路径。使用“根应用程序的根虚拟目录的物理路径”是没有意义的,因为您可以看到,逻辑太复杂,无法记住。
 <site name="WebAppOne" id="2">
                    <application path="/" applicationPool="Clr4IntegratedAppPool">
                        <virtualDirectory path="/" physicalPath="C:\Projects\WebAppOne\trunk" />
                    </application>
 <application path="/" applicationPool="Clr4IntegratedAppPool">
                        <virtualDirectory path="/SubApp" physicalPath="C:\Projects\WebAppOne\trunk\WebAppTwo" />
                    </application>
                    <bindings>
                        <binding protocol="http" bindingInformation="*:8181:localhost" />
                    </bindings>
                </site>