【问题标题】:allowDefinition='MachineToApplication' - MVC3 ERRORallowDefinition='MachineToApplication' - MVC3 错误
【发布时间】:2012-03-01 03:00:34
【问题描述】:

我正在 MVC3 (http://www.colombiatrolley.com/sitrolley) 中开发一个应用程序。在我的计算机上它运行正常,但是当我将它上传到服务器(托管服务)时,我收到了这个错误:

解析器错误消息:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的部分是错误的。此错误可能是由于虚拟目录未在 IIS 中配置为应用程序所致。

我知道这是一个非常常见的错误,但我还没有修复它。

【问题讨论】:

    标签: asp.net-mvc-3 windows-hosting


    【解决方案1】:

    某些配置部分只允许在应用程序的“根”中使用,authentication 部分就是其中之一。

    您需要配置 IIS 以将您的网站作为应用程序运行,而不是现有应用程序中的子目录。

    对于 IIS 7+,右键单击包含您的 Web 应用程序的目录,然后选择“转换为应用程序”。

    编辑

    Arie van Someren 是对的。仔细查看您的错误,您希望 <authentication> 配置位于上一级的 web.config 中,而不是视图中的 web.config。

    【讨论】:

    • 它只显示子目录的选项(转换为应用程序),如“视图”。我已经点击了它,但错误仍然存​​在。你还有其他可能的答案吗?
    • 您的 Views 子文件夹中的 web.config 中是否有 标签?这可能解释了异常。
    • @migueljimenezz @`ArievanSomeren 是对的,您希望您的身份验证元素位于 web.config 上一级。
    【解决方案2】:

    我遇到了同样的问题。我通过删除执行“构建>发布”后出现的 obj 文件夹来解决它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多