【问题标题】:" 'Title' is not a member of 'ASP.views ... " in ASP.NET MVC2 VB.NET ApplicationASP.NET MVC2 VB.NET 应用程序中的“'Title' 不是 'ASP.views ... 的成员”
【发布时间】:2010-11-03 14:54:22
【问题描述】:

我在使用 VB.NET 的 ASP.NET MVC 2 应用程序中遇到奇怪的编译错误:

说明:编译服务此请求所需的资源时出错。请查看以下具体错误详情并适当修改您的源代码。

编译器错误消息:BC30456:“标题”不是“ASP.views_ ...”的成员...

来源:

<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" ...

奇怪的是,仅当我在 IIS 5.1 (WinXP) 上而不是 Cassini 上托管网站时才会发生此错误。它也不会发生在每一页上。它在上面引用的 Index.aspx 页面上失败,但在我创建的调用 foo.aspx 的虚拟页面上成功,该页面使用相同的 &lt;% Page Title="" ... 语法。总结:

文件 IIS 5.1 卡西尼 MyModel/Index.aspx 失败 OK 主页/Foo.aspx OK OK

编辑:现在我让它在卡西尼号也失败了......奇怪

我有两个与此问题相关的问题:

  1. 为什么会出现此编译错误?
  2. 是否有解决方法可以避免此错误?

【问题讨论】:

  • Inherits 属性的值是多少?
  • 是这样的:Inherits="System.Web.Mvc.ViewPage(Of IEnumerable (Of MySolution.MVCReview.ValidationListViewModel))"
  • 您是否偶然更改了项目中的类或文件名?
  • 我不这么认为。这是在两个不同的地方运行的完全相同的代码。这是一个非常奇怪的问题。
  • 您是否尝试过删除 Title="" 语句。我感觉它仍然会因不同的错误而失败。

标签: .net asp.net asp.net-mvc vb.net asp.net-mvc-2


【解决方案1】:

我刚刚在我正在进行的一个项目中遇到了这个问题。就我而言,这是因为“继承”引用了一个不存在的类型。

尝试浏览对象资源管理器以确保您的类名完全正确。

【讨论】:

    【解决方案2】:

    在 IIS 5.1 上运行 MVC 可能会遇到很多问题

    缺乏对通配符过滤器的支持是 MVC 路由的一个问题。

    【讨论】:

      【解决方案3】:

      进入部署项目的属性页。在“编译”选项卡下,取消选中“允许此预编译站点可更新”选项。这解决了我的问题。

      【讨论】:

        【解决方案4】:

        当我在 IIS 7 上托管网站时也会发生同样的情况。 我在项目中有一个相同表单的重命名副本,两者都继承了相同的名称。 然后我删除了旧的(重命名的)表单,现在可以正常工作了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-28
          • 1970-01-01
          • 2011-08-05
          • 1970-01-01
          • 1970-01-01
          • 2010-12-23
          相关资源
          最近更新 更多