Переименуйте проект ASP.NET MVC, что приводит к нескольким типам ошибок контроллера - PullRequest
47 голосов
/ 16 июня 2011

Это уже случалось раньше, и я не могу вспомнить, как я это решил.Я переименовал проект MVC, затем сделал рефактор ReSharper для обновления пространств имен.Теперь, когда я запускаю, я получаю следующую ошибку при запуске проекта:

Multiple types were found that match the controller named 'Dashboard'. This can happen if the route that services this request ('{controller}/{action}/{id}') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter.

The request for 'Dashboard' has found the following matching controllers:
EkmDomains.FrontEnd.Controllers.DashboardController
EkmDomains.Web.Controllers.DashboardController

Я выполнил поиск везде в решении, где происходит старое пространство имен EkmDomains.FrontEnd, и заменил его новым, нобезрезультатно ...

У кого-нибудь есть идеи?

Ответы [ 3 ]

107 голосов
/ 16 июня 2011

Ха-ха, я только что вспомнил, как я делал это в прошлый раз - вы должны вручную удалить старые библиотеки DLL из папки bin. Выполнение очистки не избавляет от них, потому что DLL-файлы, предназначенные только для чистого удаления, соответствуют имени проекта - следовательно, это оставляет DLL со старым именем проекта.

1 голос
/ 17 июня 2019

Кроме того, вы можете выполнить следующие простые шаги.

  1. Перейдите в ваш Project Solution Explorer
  2. Щелкните правой кнопкой мыши файл Global.asax
  3. Выберите опцию «Открыть с помощью»
  4. Выберите «Редактор файлов Global.asax с кодировкой»
  5. Нажмите Ok, и вы можете изменить код, чтобы исправить ошибку самостоятельно.

Попробуй! У меня это сработало.

0 голосов
/ 24 января 2019

Добавление еще нескольких для всех остальных.Это стоило мне часа моей жизни, что я не вернусь.

  1. Удалите не только файлы \ bin, но также \ obj \ debug и \ release.

  2. Удалить временные файлы ASP.NET.

  3. Проверить наличие ссылок на старое имя DLL в файле web.config.

  4. Проверьте все файлы web.config.Иногда он добавляется и в папку «Виды».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...