繁体   English   中英

创建了单独的Models和Controllers项目之后,我的Initialize方法声明中出现“找不到合适的方法来覆盖”

[英]After creating separate Models and Controllers projects, I get “no suitable method found to override” on my Initialize method declaration

这让我发疯……我将MVC应用程序重组为Models项目和Controllers项目,然后将主应用程序重组为项目。 因此,到目前为止,一切工作正常,除了...

每当我去“重建”我的控制器项目时,都会出现此错误:

Controllers.AccountController.Initialize(System.Web.Routing.RequestContext)':找不到适合的方法来覆盖。

请记住,Visual Studio自动将AccountController.cs放置在我的应用程序中,并且当Controllers在我的主项目中时,一切都正常运行。 我认为这可能与该AccountController.cs文件引用的ASPNETDB.MDF文件有关,以便在用户登录时对用户进行身份验证,因为该数据库位于我的主项目中,并且未遵循Controllers项目。 有什么想法吗?

这是我的AccountController上的Initialize方法:

        protected override void Initialize(RequestContext requestContext)
    {
        if (FormsService == null) { FormsService = new FormsAuthenticationService(); }
        if (MembershipService == null) { MembershipService = new AccountMembershipService(); }

        base.Initialize(requestContext);
    }

请帮忙!!! 提前致谢!!

此错误消息表明您的AccountController类不是从MVC的Controller基类派生的。

原来,我所缺少的是对System.Web.Routing的引用。 using System.Web.Routing ,它没有标记为“红色”(意味着找不到),所以我只是假设它在那里。 因此,这解决了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM