【问题标题】:Getting errors from web.config of parent application in my sub application在我的子应用程序中从父应用程序的 web.config 获取错误
【发布时间】:2012-01-06 03:57:34
【问题描述】:

我的服务器上有我的主网站应用程序C:\inetpub\wwwroot,我可以在http://www.mysite.com查看它

我在C:\inetpub\Supapp 创建了另一个名为Supapp 的独立MVC Web 应用程序。我想设置它,这样如果我访问http://www.mysite.com/Subdir,它将运行我的Subdir 应用程序。

所以我进入 IIS,扩展了我现有的网站,并添加了一个新的应用程序,将根文件夹指向 C:\inetpub\Supapp\

当我去查看http://www.mysite.com/Subdir时,我得到一个编译错误:

编译器错误消息:CS0246:找不到类型或命名空间名称“MySite”(您是否缺少 using 指令或程序集引用?)

来源错误:

Line 98:         <add namespace="System.Web.Mvc.Html" />
Line 99:         <add namespace="System.Web.Routing" />
Line 100:        <add namespace="MySite.HtmlHelpers" />
Line 101:      </namespaces>
Line 102:    </pages>

源文件: c:\inetpub\wwwroot\web.config 行: 100

因此,由于某种原因,我的子应用程序在尝试从父应用程序加载命名空间时出错。

有没有办法解决这个问题? Subdir 应用程序位于完全不同的目录中。

【问题讨论】:

    标签: asp.net asp.net-mvc iis iis-7


    【解决方案1】:

    配置文件是分层的,你的子 web.config 从你的根 .config 继承东西。如果您希望忽略某些部分,您可以将inheritInChildApplications="false" 属性添加到您不被继承的标签。

    对于您的情况,将 inheritInChildApplications="false" 添加到您的应用程序根 location

       <location path="." inheritInChildApplications="false">
       </location>
    

    【讨论】:

    • 谢谢。我没有使用这种策略,但通过一些研究我发现我也可以在命名空间节点的顶部添加
    【解决方案2】:

    您需要将您的子应用程序设置为 IIS 中的 Web 应用程序。

    【讨论】:

    • 我做到了。我进入 IIS,扩展了我现有的网站,并添加了一个新的应用程序,将根文件夹指向 C:\inetpub\Supapp\
    猜你喜欢
    • 2020-08-29
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 2011-05-04
    • 2018-12-27
    相关资源
    最近更新 更多