Конфликт ASP.NET MVC 2 System.Web.Mvc.dll - PullRequest
2 голосов
/ 18 января 2010

Я установил ASP.NET MVC 2 RC и открыл «пример проекта» по умолчанию, но получаю следующую ошибку:

Сообщение об ошибке парсера: тип 'System.Web.Mvc.ViewMasterPage' является неоднозначно: это могло прибыть из собрания 'C: \ WINDOWS \ Assembly \ GAC_MSIL \ System.Web.Mvc \ 2.0.0.0__31bf3856ad364e35 \ System.Web.Mvc.dll' или из сборки 'C: \ Documents and Настройки \ sfent \ Мои документы \ Визуальные студия 2008 \ Projects \ MvcApplication1 \ MvcApplication1 \ Bin \ System.Web.Mvc.DLL. Пожалуйста, укажите сборку явно в имени типа.

Похоже, что это конфликт между dll GAC и dll, созданным и помещенным в каталог bin (который, как я думал, должен был использоваться вместо версии GAC)

Я гуглил эту проблему и обнаружил похожие проблемы, но связанные с неправильным пространством имен. Это пример неизмененного приложения, которое поставляется в комплекте с платформой MVC.

Я также попытался полностью удалить фреймворк и переустановить RC, но безрезультатно.

Все предложения приветствуются.

Ответы [ 3 ]

5 голосов
/ 10 апреля 2011

Я получил эту ошибку, и в моем случае она была довольно легко устранена.

Я создал новую мастер-страницу в своей папке Views, но я не заметил ее, она пришла с кодом и дизайнером, которыйконечно, вы не хотите с MVC2.Это все построено, но выдает мне сообщение об ошибке «Parser Error: Тип« System.Web.Mvc.ViewMasterPage »неоднозначен: ...» при запуске.

Чтобы исправить это, я удалилфайлы кода и конструктора для моей новой главной страницы, и ошибка исчезла.

1 голос
/ 18 января 2010

проблема может заключаться в том, что ссылка в вашем проекте все еще указывает на старую версию dll (v1.0). Удалить ссылку и добавить новую версию (v2.0).

Эту подсказку вы также найдете в примечаниях к выпуску MVC2 RC:

"Откройте проект с помощью Visual Studio и в Solution Explorer разверните узел Ссылки. Удалите ссылку на System.Web.Mvc (которая указывает на сборку версии 1.0). Добавьте ссылку на System.Web.Mvc ( v2.0.0.0). "

Ура, Damrod

0 голосов
/ 18 января 2010

Ваш проект ссылается как на v1, так и на v2 фреймворка?Кроме того, почему бы не удалить соответствующие DLL, которые были скопированы локально?

...