从Asp.net MVC 2升级到3 RC后,Aspx页面将无法加载

Kal*_*exx 22 c# asp.net-mvc asp.net-mvc-3

我昨晚升级到Asp.net MVC 3 RC,然后按照发行说明中的​​说明进行操作.但是,正常的Aspx页面不再有效.

例如,当我转到根(Home/Index)时,会发生以下错误:

The view at '~/Views/Home/Index.aspx' must derive from ViewPage, ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>.
Run Code Online (Sandbox Code Playgroud)

这是使用原始MVC Home/Index视图的几乎没有修改过的版本.代码是:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
    Home Page
</asp:Content>

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
    <h2><%= Html.Encode(ViewData["Message"]) %></h2>
    <p>
        <%= Html.ActionLink("Project List", "List", "Project", new { area = "writing" }, null) %>
    </p>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

它设置为从ViewPage继承,所以我不确定是什么问题.

主页面不会修改MVC安装的内容.

有任何想法吗?

Phi*_*ong 28

确保web.config有

<assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <add assembly="WebMatrix.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
Run Code Online (Sandbox Code Playgroud)

还有这个

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>
</assemblyBinding>
Run Code Online (Sandbox Code Playgroud)

以及任何Areas/Web.config

根据需要更新它们,你应该到一个更好的地方