我得到了错误

无法加载类型mvcapapplication

当我试图运行我的网站时。

如何纠正?


当前回答

我在Visual studio的开发环境中遇到了这个令人沮丧的错误,结果发现原因很愚蠢。简而言之,如果您在解决方案中有多个web项目/网站:请确保您试图访问网站的端口与项目属性-> web中配置的端口相同

在我的案例中,错误是因为我使用不同的端口访问网站(在浏览器中),而解决方案中的项目被分配了另一个端口。为了更详细地解释,我的解决方案中有两个网站项目Website1(由Visual-Studio在ISS中分配端口8001)和Website2(由Visual-Studio在ISS中分配端口8101)。因此,即使我正在构建Website1,我也试图使用locahost:8101访问该网站。

现在我终于意识到了问题所在,我看到@StingyJack的评论也提到了类似的问题。

其他回答

这些东西我都测试过了,没有一个管用。然后我想起来我是通过IIS的本地实例运行站点的,并且已经移动了编译代码的目录。换句话说,我的IIS站点设置为查看有问题的旧目录。进入IIS并将站点的根目录更改为我的新目录显然解决了这个问题。

我正在使用Azure移动应用程序,当我添加MVC控制器时,出现了这个问题。如果你从团队资源管理器(撤销)中删除所有文件,你需要从解决方案文件夹中删除bin, obj和Global.asax.cs

我得到了同样的错误,尽管做了这里提到的所有事情,但没有任何工作。原来我从以前版本的项目中复制了global.asax.cs的源代码,该版本的名称不同。因此名称空间Test应该是名称空间Test. web。这当然是一个愚蠢的错误,我有点不好意思写这个!但写这封信的目的是希望其他人的类似错误也能让他检查一下这个微不足道的方面。

检查global.asax中提供的信息背后的代码。它们应该正确地指向后面代码中的类。

示例global.asax:

<%@ Application Codebehind="Global.asax.cs" Inherits="MyApplicationNamespace.MyMvcApplication" Language="C#" %>

背后的示例代码:

   namespace MyApplicationNamespace
    {
        public class MyMvcApplication : System.Web.HttpApplication
        {
            protected void Application_Start( )
            {
                AreaRegistration.RegisterAllAreas( );
                FilterConfig.RegisterGlobalFilters( GlobalFilters.Filters );
                RouteConfig.RegisterRoutes( RouteTable.Routes );
                BundleConfig.RegisterBundles( BundleTable.Bundles );
            }
        }
    }

如果您更改了名称空间,请确保右键单击并重构。