命名空间更改 - 找到与名为“Home”的控制器匹配的多种类型

Posted

技术标签:

【中文标题】命名空间更改 - 找到与名为“Home”的控制器匹配的多种类型【英文标题】:Namespace change - Multiple types were found that match the controller named 'Home' 【发布时间】:2012-07-27 14:23:26 【问题描述】:

我在更改我的 mvc 项目的命名空间后遇到了以下问题:

找到了与名为“Home”的控制器匹配的多种类型。如果为该请求提供服务的路由 ('controller/action/id') 未指定命名空间来搜索与请求匹配的控制器,则可能会发生这种情况。如果是这种情况,请通过调用带有“namespaces”参数的“MapRoute”方法的重载来注册此路由。

“Home”的请求找到了以下匹配的控制器:

oldns.Controllers.HomeController

newns.Controllers.HomeController

关于此错误还有其他已回答的问题,但涵盖其他原因:

Multiple projects Areas

【问题讨论】:

我问并回答了这个问题,因为其他类似问题得到了回答,但没有涵盖我的具体原因。 感谢您这样做。您的帖子包含适合我的 google-fu 风格的正确关键字 :) 谢谢 - 一个没有华夫饼的简单问题!,也是一个很好的答案! 【参考方案1】:

经过一番研究,我发现原因是bin文件夹(bin\oldns.dll)中残留的旧mvc app dll。清洁并没有清除它。我手动删除了bin目录的内容,然后就一切正常了。

【讨论】:

感谢我遇到了同样的问题 +1 感谢您找到这个,让我免于为此而苦苦挣扎。据我所知,执行清理并不会删除所有内容,如果编译时出现问题,您应该关闭项目并删除项目 bin 文件夹的所有内容,然后打开项目并再次编译/测试。 +1 对我来说同样的问题。非常感谢! 谢谢你,我重命名了项目并解决了这个问题。你的建议解决了 - 谢谢 哇!我不敢相信这实际上解决了我的问题!太感谢了!来自我的 +1!

以上是关于命名空间更改 - 找到与名为“Home”的控制器匹配的多种类型的主要内容,如果未能解决你的问题,请参考以下文章

打开浏览器就弹出“ 找到多个与名为“Home”的控制器匹配的类型。如果为此请求(“control

找到多个与名为“Home”的控制器匹配的类型

找到多个与名为“Home”的控制器匹配的类型

找到多个与名为“Home”的控制器匹配的类型

找到了与名为“Home”的控制器匹配的多种类型。 (奇怪的错误)

找到多个与名为“Home”的控制器匹配的类型。解决方法