Ошибка неоднозначного типа ASP.NET MVC - «System.Web.Mvc.ViewMasterPage» является неоднозначным - PullRequest
2 голосов
/ 20 апреля 2010

Я создал приложение ASP.NET MVC 2.0. В первом тесте все прошло нормально, и я внес небольшие изменения в представления. Затем я хотел добавить новый контроллер, поэтому мне пришлось скомпилировать приложение. После того, как я сделал это в любое время, я получаю следующую ошибку:

Parser Error Message: The type 'System.Web.Mvc.ViewMasterPage' is ambiguous: it could come from assembly 'C:\Users\DerekM\Documents\Visual Studio 2008\Projects\ABELMedicalSoftwareMVC\ABELMedicalSoftwareMVC\bin\System.Web.Mvc.DLL' or from assembly 'C:\Users\DerekM\Documents\Visual Studio 2008\Projects\ABELMedicalSoftwareMVC\ABELMedicalSoftwareMVC\bin\ABELMedicalSoftwareMVC.DLL'. Please specify the assembly explicitly in the type name.

Source Error:

Line 1:  <%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
Line 2:  
Line 3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Я немного погуглил и наткнулся на следующий урок: http://blog.stevensanderson.com/2009/02/03/using-the-aspnet-mvc-source-code-to-debug-your-app/

Я точно следовал этому, но все еще получаю ту же ошибку. Итак, у меня есть чтение System.Web.Mvc.dll из папки bin, и ссылка на GAC была удалена из моего web.config.

Судя по тому, что я могу почерпнуть из других постов, вопрос звучит так, как будто я наследую на страницах просмотра или, возможно, на главных страницах. Но я не уверен, как их редактировать.

Вот наследование от сайта по умолчанию. Создан MVC

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>

А вот и наследство от моего взгляда

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

Сообщения на форуме, которые я читаю, говорят, что вместо этого нужно ссылаться на код, но в представлениях нет кода. Это просто обычный файл Index.aspx. У главной страницы по умолчанию нет кода, но если я создаю новую, она получает файлы .cs и .designer.cs

Любая помощь приветствуется, это кажется такой простой проблемой, и я упускаю что-то очень простое.

1 Ответ

1 голос
/ 20 апреля 2010

Я думаю, у вас есть код для этой главной страницы.

Изменить наследство от System.Web.Mvc.ViewMasterPage вместо System.Web.UI.MasterPage.

У меня была такая же проблема, и это помогло мне: http://www.alphapapahotel.com/system-web-mvc-viewmasterpage-parser-erro/aspnet/

...