Я только что установил MVC2, и у меня есть представление, которое похоже на это
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Home.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Home
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Home</h2>
</asp:Content>
И контроллер просто возвращает представление. Но когда я выполняю страницу, я получаю эту ошибку:
Система. InvalidOperationException: представление в '~/Views/Page/home.aspx' должно произойти из ViewPage, ViewPage, ViewUserControl или ViewUserControl.
Вы можете случайно получить два версии платформы MVC, загруженные в одно и то же приложение. Для подтверждения загрузите фьючерсы MVC 2 с http://aspnet.codeplex.com/releases/view/41742 . В этом ZIP-файле есть файл MvcDiagnostics.aspx .
Не забудьте удалить MvcDiagnostics.aspx из вашего проекта, когда закончите.
Я получал эту ошибку при обновлении моего проекта MVC 1.0 до MVC 2.0. Если вы это делаете, посмотрите http://weblogs.asp.net/leftslipper/archive/2010/03/10/migrating-asp-net-mvc-1-0-applications-to-asp- net-mvc-2-rtm.aspx
Дважды проверьте свой web.config на соответствие новому проекту MVC 2.0.