在Global.asax中:“分析器错误消息未能加载类型”(“Parser Error Messag

2019-06-17 14:03发布

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

分析器错误信息:未能加载类型“GodsCreationTaxidermy.MvcApplication”。

源错误:

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

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

有没有人有任何意见或这个错误的解决方案?

Answer 1:

本地Web服务器比你实际工作中运行不同的代码。 确保已停止调试,停止你的本地Web服务器,干净和重建彼得建议,仔细检查您的Global.asax和Global.asax.cs中,然后再试一次。

如果这不起作用,并且您使用本地IIS,请尝试删除在IIS管理器中的网站并手动重新创建它。



Answer 2:

检查项目输出路径(项目属性/编译)设定为bin ,而不是 bin\Releasebin\Debug

出于某种原因,IIS(VS开发服务器或本地IIS)始终访问从库bin目录(并不会查找子目录)



Answer 3:

尝试修改您的Global.asax文件(简单某处添加一个空格),并重新运行。 这将迫使内置的Web服务器刷新和重新编译Global.asax文件。

还做了清洁和重建 - 要解决这个问题



Answer 4:

如果更改后的名称空间信息(项目或类级别),这有时会发生global.asax产生。

右键单击Global.asax文件并选择“打开方式”,然后选择“带编码XML(文本)编辑器”(其他编辑器也可能有效,但是这是我使用)。

然后编辑XML指令的“继承”部分

<%@应用代码隐藏= “Global.asax.cs中” 继承= “GodsCreationTaxidermy.MvcApplication”语言= “C#” %>)

因此,它的应用类的实际全名相匹配。 仅此而已。

另一种选择是所有的代码的Global.asax.cs复制关闭,然后删除,然后再创建Global.asax文件(然后将代码复制回的Global.asax.cs)。



Answer 5:

我关闭并重新打开Visual Studio和它的工作。



Answer 6:

我不得不去打造 - > Configuration Manager和 - 啊哈 - 检查我旁边的项目的复选框,以确保它实际上被建造。



Answer 7:

我今天有这个问题,我花了一段时间来查找原因。

基本上,我的主要VS2015项目是包括其中已经使用更高版本的.NET framework内置一个子项目。

奇怪的是,当你有这个问题,VS2015会高兴地报告说,该解决方案已建成还好,但是当你尝试和运行的网站,它只是给你提供具误导性的错误,这表明你Global.asax.cs文件是错误的。

所以,如果你看到这个错误,并清洗/重建没有帮助,打开你的项目的References树,并检查是否有惊叹号。

另外,检查你的Output窗口这样的消息:

The primary reference "C:\Projects\Business Objects 4\bin\Release\BusinessObjects.dll" 
could not be resolved because it was built against 
the ".NETFramework,Version=v4.5" framework. 
This is a higher version than the currently targeted framework
".NETFramework,Version=v4.0".

在您的主要项目的解决方案,当然,是用鼠标右键单击,选择最上面的选项卡,“应用程序”,并更改目标框架版本更高的版本,你的个子项目相匹配。

这是烦人的Visual Studio 2015年将让你充分建立和运行其悄悄包含这个问题的解决方案。 它是自找麻烦..!



Answer 8:

我只是遇到了这个上MVC5应用程序并没有什么是为我工作。 这件事发生之后我曾试图做一个SVN恢复到旧版本的项目。

我不得不删除的global.asax.cs,然后通过右键添加了一个新项目点击- >添加新项- > Global.asax中,并且最终固定它。

只是认为这可能帮助别人。



Answer 9:

我必须向大家报告,我想这个职位至少四项建议。 他们没有工作。 然而,我很高兴地报告,我恢复从备份中检索。 只有更新的日志文件我最后的代码更改。 了不到10分钟。 花了3倍,阅读这篇文章,并尝试其他建议。 抱歉。

这是一个非常奇怪的错误。 好运到其他人遇到这个小鬼。



Answer 10:

我有同样的问题时,我有运行同一项目的Visual Studio 2实例。 所以我关闭Visual Studio和只开了一个实例,现在工作得很好!



Answer 11:

我是工作在一个较旧的“基于文件夹的” ASP.NET web项目(我讨厌) - 并发现这是我的解决办法:

创建一个App_Code夹(如果你没有的话)

移动Global.asax.vb文件放到App_Code

在Global.asax中的标记可以留下任何名字空间(至少,这种风格的项目,据我所知):

<%@ Application Codebehind="Global.asax.vb" Inherits="MyApp" Language="VB" %>

......其中“MyApp的”是Global.asax.vb正在定义的类的名称



Answer 12:

您也可以检查您的网站的属性在IIS。 (在IIS中,用鼠标右键单击该网站,然后选择属性。)确保物理路径设置指向正确的路径为您的应用程序而不是一些其他的应用程序。 (这解决了这个错误我。)



Answer 13:

清空bin文件夹。 建立所有相关的类库,并在主要项目是指他们,并建立了完整的解决方案。

资源



Answer 14:

我也面临着同样的问题。 尽管下面的每一个答案,它没有工作。 然后,我改变了“继承= namespace.class”,以“继承= 完全合格的组合名称 ”,即“继承= namespace.class,的AssemblyName,版本=文化=公钥=”希望它可以帮助。



Answer 15:

这也有可能发生,如果你不小心忘了,如果你正在运行从相同的解决方案Web和的WebAPI设置你的VS解决“多启动项目”。

您可以通过右键单击在Solution Explorer解决方案检查并选择“属性”,然后查找‘启动项目’。



Answer 16:

“BUILD - > Configuration Manager和 - 检查我旁边的项目的复选框,以确保它实际上得到建 - 啊哈。” 这和去到项目文件夹在Windows资源管理器中,按选项,并取消选中“只读”复选框的帮助。



Answer 17:

这个问题笔者从IIS给该文件夹的权限权,以及检查解决。

我被获准大家正如我在当地的环境正在测试。 但在发布模式,我认为我们只给权限ASP.Net用户。



Answer 18:

我也得到了同样的错误...看看你正确地即开发的应用程序的名称。 命名空间以及获分配的,也试着用不断变化的应用程序创建的文件夹的名称程序集名称,所有这一切都应该是相同上述命名空间中的名字出现在文件的Global.asax



Answer 19:

我也得到了同样的错误...检查您的虚拟目录的IIS配置,并确保属性 - ASP.NET - ASP.NET版本是相同的项目属性 - 应用 - 目标框架。 (这解决了这个错误我。)



Answer 20:

我的应用程序,建于一个旧版本的VS,并没有一个bin文件夹。 我有它升级到较新的版本,并做了一个恶梦得到它的部署。 我最终跟踪这个错误倒在项目>属性>应用程序。 目标框架被设定为2.0; 改变它的服务器在IIS管理器来匹配/应用程序池解决了这个问题对我来说。



Answer 21:

我发现,改变该项目的命名空间,而无需重构即在整个解决方案是我的问题。 检查项目属性,看看你的命名空间是什么,保证排队,一刀切。



Answer 22:

我的问题是,我并没有包括在我的项目的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);
        }
    }
}


Answer 23:

重建项目就可以解决问题。



Answer 24:

我真的花了一天时间试图解决这个问题。

只有工作的事情被删除.sln文件,创建一个新的,并通过一个添加的项目回来之一。

¯\ _(TSU)_ /¯ - 编程 - ¯\ _(TSU)_ /¯



Answer 25:

对于我而言,网络组件是GAC的一部分......所以生成后,它需要安装在GAC和它的工作。



Answer 26:

我遇到这个错误信息,并最终发现该错误消息是误导。 在我而言似乎一直在IIS中的路由问题引起从Web服务器上的另一个网站在Global.asax被如此读取产生错误。

在IIS中,我的站点被绑定到http:* 80:webservices.local和包含称为MyAPI的应用程序。 调用使用Web服务器的IP地址MyAPI应用程序时,我收到了可怕的消息。

为了成功调用我的应用程序必须添加主机文件条目webservices.local上所有叫MyAPI应用程序的机器。 然后我所有的请求都必须有前缀的http://webservices.local/MyAPI/为了正确地路由。



Answer 27:

我在这里尝试了绝对一切并没有什么工作。 我的项目是在2013年VS因为我已经升级到VS 2015年,并已创造了我所有的新的应用程序在2015年,但装载,编译,建筑等所有的建于2013年使用该版本旧的应用程序。

最后我只是加载在2015年的解决方案,它解决了对我来说。



Answer 28:

对我们来说,配置管理器显示的dll建立为“64”和“任何CPU”的混合版本。

把他们都相同的生成修复它。



Answer 29:

我花了多天在这个问题上。 我终于得到它与建议,从这个帖子下面的组合解决。

  1. 平台目标更改为任何CPU。 我没有这个配置现在,所以我不得不去Configuration Manager和添加。 我是专门为编制64。 这本身并没有解决错误。
  2. 更改输出路径bin\代替bin\x64\Debug 。 我曾试图几次之前已经改变了我的目标平台。 它从来没有比得到一个错误,它失败,因为无效格式的加载程序集以外的差异。

需要明确的是,我不得不做这两个才开始工作。 我曾试图单独他们多次,但从来没有固定它,直到我做了两个。

如果我改变这些设置的任何一个回原来的,我再次得到了同样的错误,尽管有润洁解决方案,并手动删除在一切bin目录。



Answer 30:

删除.vs从解决方案根目录。 清洁。 重建。

这个问题使我疯狂曾经在一段时间,我不可避免地会在这里结束通过回答分页。 我怀疑有可以产生这种例外多种原因,这个曾经为我工作。



文章来源: “Parser Error Message: Could not load type” in Global.asax