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

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

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

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

oldns.Controllers.HomeController

newns.Controllers.HomeController

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

【问题讨论】:

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

标签: asp.net-mvc namespaces controller visual-studio-2012


【解决方案1】:

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

【讨论】:

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