Подтвердить что ты не робот

Переименование пространства имен ASP.NET MVC

Я переименовал свой проект из MyProjectName в MyNewProjectName. Я сделал полный поиск/замену решения и изменил тестовый проект. В Default.aspx.cs я получаю InvalidOpterationException с

"Имя контроллера" Домой "неоднозначно между следующими типами: MyNewProjectName.Controllers.HomeController MyProjectName.Controllers.HomeController ".

Как это исправить? Благодаря

4b9b3361

Ответ 1

Вы пытались перестроить (щелкните правой кнопкой мыши по проекту и выберите "Rebuild" )? Также проверьте контейнер, чтобы убедиться, что там есть только сборка с новым именем. Кроме того, дважды проверьте свойства проекта, чтобы проверить, выводится ли имя сборки. Если вы не знаете, какое имя выведенной сборки, удалите все DLL из bin и перестройте.

Ответ 2

Вам нужно проверить папку /bin в вашем веб-проекте MVC и либо удалить все внутри, либо сделать новую сборку, либо удалить старую DLL (MyProjectName.dll).

В среде исполнения ASP.Net MVC используется отражение, чтобы определить, какой контроллер должен быть передан на основе информации о маршрутизации, и он находит два контроллера, которые соответствуют критериям (имеют одно и то же имя), и каждый из них находится в другом сборка. Вот почему вы получаете исключение.

Выполнение Чистота, похоже, не очищает папку bin. Поэтому вам нужно удалить файл вручную.

Ответ 3

Как и я, у меня была ссылка в web.config папки "Вид", как только она была изменена, все сработало нормально!

Ответ 4

Дважды щелкните или щелкните правой кнопкой мыши на MyProject и откройте. В настройках приложения измените имя сборки и корневое пространство имен в соответствии с вашим именем переименованного проекта.

Ответ 5

Щелкните правой кнопкой мыши проект, выберите "Открыть папку в проводнике Windows".

Удалите объекты OLDPROJECTNAME в /bin и/obj