我得到了错误

无法加载类型mvcapapplication

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

如何纠正?


当前回答

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

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

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

其他回答

确保global.asax.cs中的命名空间与你的webapp的命名空间匹配

对我来说,修正的方法是改变build选项卡的输出路径。 我把输出路径改为bin\,错误就消失了。

-另一个修复可能是你有错误的启动项目集。

我又犯了这个错误,上面没有一个对我有用。我必须删除下面的节点在.csproj文件:<VisualStudio>....</VisualStudio>。重新加载VS,它工作了。

仅供参考,VS能够重新创建节点,然后我在IIS中重新创建了网站(通过VS),它工作得很好。

希望这能帮助到一些人。

确保你不应该打开MVC项目像File->打开网站使用File->打开项目。

检查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 );
            }
        }
    }