我在一个MVC3项目上工作,收到以下错误:

解析器错误信息:无法加载类型“GodsCreationTaxidermy.MvcApplication”。

源错误:

第1行:<%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core. core . "MvcApplication" Language=" c# " %>

我得到的错误是无法加载GodsCreationTaxidermy.Core.MvcApplication,但在这个屏幕截图中,核心部分没有显示在错误中:

有人对这个错误有什么想法或解决方案吗?


当前回答

对于我来说,web组装是GAC的一部分……因此,在构建后,它需要安装在GAC和它工作。

其他回答

我最近在一个Web应用程序中经历了这种情况。 问题是一个nuget包带来了一个依赖: Microsoft.Net.Compiler和Microsoft.Code.Dom

它们支持多级编译器版本。

这将我的应用程序转换为ASP。NET网站而不是Web应用程序..我花了很长时间才解决这个问题——2.5天!!

我从Nuget管理器中删除了这些文件,删除了obj和bin目录中的文件-关闭studio -然后重新打开并重建项目。这就解决了问题

那是多么痛苦啊!!

我希望我在这一点上节省了一些时间!

我的问题是我没有在我的项目中包含global.asax.cs。因为我是从。net 4.5复制文件到4.0,所以我没有注释掉4.0中不需要的行。因为它不包括visual studio编译它无论如何没有问题。但是当我加入它时,它突出显示了导致问题的行。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//using System.Web.Http;
using System.Web.Mvc;
//using System.Web.Optimization;
using System.Web.Routing;

namespace YourNameSpace
{
    public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            //GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            //BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
}

我关闭和重开了视觉工作室,它工作。

重新创建虚拟目录为我解决了这个问题。

(在此之前,我尝试了这里列出的其他建议,如清理解决方案,删除bin文件夹,重建解决方案等。没有一个工作,直到我重新创建虚拟目录)

Debug ->调试属性-> Web ->创建虚拟目录

检查项目输出路径(项目属性/ Build)设置为bin而不是bin\Release或bin\Debug

由于某些原因,IIS (VS开发服务器或本地IIS)总是从bin目录访问库(并且不会查找子目录)