Asp.net mvc 2 找到多个与名为';主页';

Asp.net mvc 2 找到多个与名为';主页';,asp.net-mvc-2,dotnetopenauth,Asp.net Mvc 2,Dotnetopenauth,我刚刚开始使用dotnetopenauth进行用户注册。它很棒,而且工作得很好 现在的问题是,当我尝试去/家/时,出现了一个错误,上面写着: 找到多个与名为“Home”的控制器匹配的类型。如果为该请求提供服务的路由(“{controller}/{action}/{id}”)未指定名称空间来搜索与该请求匹配的控制器,则可能发生这种情况。如果是这种情况,请通过调用采用“namespaces”参数的“MapRoute”方法的重载来注册此路由 “主页”请求已找到以下匹配控制器: OpenIdRelyin

我刚刚开始使用dotnetopenauth进行用户注册。它很棒,而且工作得很好

现在的问题是,当我尝试去/家/时,出现了一个错误,上面写着:

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

“主页”请求已找到以下匹配控制器: OpenIdRelyingPartyMvc.Controllers.HomeController
YourApp.Controllers.HomeController

问题是,我不知道OpenIdRelyingPartyMvc.Controllers.Homecontroller来自哪里。我在我的应用程序中的任何地方都找不到“OpenIdRelyingPartyMvc”的任何实例,请保存两个位置,这两个位置都出现在UsersController中:

OpenIdRelyingParty openid = new OpenIdRelyingParty();
我已尝试删除DLL并重建应用程序-没有更改。我想不出另一个控制器会在哪里


有什么想法吗?

我猜是您将示例中的代码复制到了代码库中,或者您正在引用DotNetOpenAuth示例项目中的DLL。注意,OpenIdRelyingPartyMvc是MVC示例的名称空间


因此,我的建议是首先从项目引用开始删除DotNetOpenAuth库的所有实例。

更改项目名称和默认名称空间后,我收到了相同的错误消息


最后,解决方案是手动删除调试文件夹中的所有文件(“Clean solution”-在本例中VS的函数没有帮助)

在route.config文件中使用此选项

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    new[] { "ProjectName.Controllers" }
);

注意:您在创建项目时给出的项目名称

这就是我需要解决的问题。谢谢