.net &引用;不实现IControllerFactory.CreateController";在VisualStudio2010中

.net &引用;不实现IControllerFactory.CreateController";在VisualStudio2010中,.net,asp.net-mvc,castle-windsor,.net,Asp.net Mvc,Castle Windsor,编译此代码时: public class WindsorControllerFactory : IControllerFactory { private readonly WindsorContainer _container; public WindsorControllerFactory(WindsorContainer container) { _container = container; } public IControlle

编译此代码时:

public class WindsorControllerFactory : IControllerFactory
{
    private readonly WindsorContainer _container;

    public WindsorControllerFactory(WindsorContainer container)
    {
        _container = container;
    }

    public IController CreateController(RequestContext requestContext,
                                        string controllerName)
    {
        return (IController)_container.Resolve(controllerName);
    }

    public void ReleaseController(IController controller)
    {
        _container.Release(controller);
    }
}
我得到这个错误:

“WindsorController Factory”没有 实现接口成员 'System.Web.Mvc.IControllerFactory.CreateController(System.Web.Routing.RequestContext, 字符串)'

很明显,它实现了这个成员。有人遇到过这个问题吗


我在RTM上复制了这一点,打开了一个。

您可能有两个相互冲突的System.Web.routing版本或类似版本。

System.ServiceModel.Channels
命名空间中还有一个
RequestContext
类;包含在System.ServiceModel.dll程序集中

将鼠标悬停在方法的RequestContext参数类型上,并检查它是否指向正确的参数类型


更多信息

在我添加了对System.Web.Routing 4.0.0的引用后,错误消失了。在此之前,它被间接引用到3.5.0.0版本(通过System.Web.Mvc,version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35)

因此,我有以下参考资料:
System.Web.Mvc 2.0.0.0(v2.0.50727)

System.Web.Routing 4.0.0.0.0(v4.0.30128)

包括对System.Web(v4.0.30319)的引用。

尝试右键单击IControllerFactory afteer:“,然后说implement interface,错过的将出现。”up@Oskar-没有遗漏的方法,这就是问题所在。如果我注释掉方法CreateController,并使用Resharper执行“实现方法”,代码仍然无法编译。然后尝试显式实现?@Oskar-好主意,但不起作用。此外,我尝试扩展DefaultControllerFactory而不是实现IControllerFactory,但没有起作用。是否安装了多个Beta或RCs?你的垃圾箱文件夹里有可疑的东西吗?你试过用csc.exe编译它吗?顺便说一句-查看VS的输出窗口以查看其生成的csc.exe调用?我之前有beta 2,然后完全卸载了它并安装了RC。我将尝试查看csc.exe所说的内容。我编写了显式类名,但没有帮助:(你写过System.Web.Routing.RequestContext还是System.ServiceModel.Channels.RequestContext?你应该有第一个。我写过System.Web.Routing.RequestContext,但它不起作用。我想这只是Visual Studio中一个无法解决的错误。我会升级到RTM,看看它是否能解决问题。我会尝试一下你的建议。帮帮我吧!这是我的建议。)在.NET 4.0解决方案中,定义了自定义控制器(通过IController)并引用了MVC 2.0。