IIS 7.5 Express 新虚拟目录

11

如何添加新的虚拟目录?

我遇到了错误(“xxx”类型或命名空间找不到),但是所有文件都在/bin中。

我尝试编辑applicationhost.config,像这样:

<site name="WebSite1" id="1" serverAutoStart="true">
    <application path="/" applicationPool="Clr2IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
        <virtualDirectory path="/SubFolderApp" physicalPath="%IIS_SITES_HOME%\WebSite1\SubFolderApp" allowSubDirConfig="true" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation=":80:localhost" />
    </bindings>
</site>

"xxx"是什么?我在你的例子中没有看到这些字母。 - John Saunders
虽然您在使用 IIS Express(一种开发者工具)时遇到了问题,但我怀疑这个问题与IIS没有什么不同。我建议将此迁移到 serverfault.com。 - John Saunders
对不起,xxx只是/bin中的.dll文件。例如Facebook.dll。哦,抱歉,我忘记了serverfault.com的存在。或者为什么这个标签在这里甚至是可能的? - khalil
哦,是的,我忘了告诉你,如果应用程序在根文件夹中,它可以运行/bin中的所有.dll文件,但如果应用程序在子文件夹(/SubFolderApp)中,它将显示命名空间未找到错误。所以我怀疑任何子文件夹都没有注册为应用程序。这就是为什么我问如何添加新的虚拟目录,以便我可以将/SubFolderApp作为一个独立的应用程序而不是根文件夹中的1个应用程序。 - khalil
1个回答

20

您需要创建一个子应用程序。您的配置已经创建了子虚拟目录。下面的配置将/SubFolderApp转换为一个应用程序。

<site name="WebSite1" id="1" serverAutoStart="true">
   <application path="/" applicationPool="Clr2IntegratedAppPool">
     <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
   </application>
   <application path="="/SubFolderApp" applicationPool="Clr2IntegratedAppPool">
     <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1\SubFolderApp" />
   </application>
    <bindings>
      <binding protocol="http" bindingInformation=":80:localhost" />
   </bindings>
</site>

我认为在 path="="/SubFolderApp" 中有一个额外的 "= - AaronLS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接