Global.asax中的“parsing器错误消息:无法加载types”
我正在处理一个MVC3项目,并收到以下错误:
parsing器错误消息:无法加载types“GodsCreationTaxidermy.MvcApplication”。
源错误:
第1行:
<%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core.MvcApplication" Language="C#" %>
我得到的错误是无法加载GodsCreationTaxidermy.Core.MvcApplication,但在这个屏幕截图中核心部分是不显示的错误:
有没有人有任何想法或解决这个错误?
您的本地Web服务器正在运行与您实际工作的代码不同的代码。 确保你已经停止了debugging,停止你的本地Web服务器,按照Peter的build议进行清理和重build,仔细检查你的global.asax和global.asax.cs,然后再试一次。
如果这不起作用并且您正在使用本地IIS,请尝试在IISpipe理器中删除该站点并手动重新创build该站点。
检查项目输出path(项目属性/生成)是否设置为bin
而不是 bin\Release
或bin\Debug
由于某些原因,IIS(VS开发服务器或本地IIS)总是从bin
目录访问库(并且不会查找子目录)
尝试修改您的global.asax文件(简单地添加一个空间)并重新运行。 这将迫使内置的web服务器刷新并重新编译global.asax文件。
也做一个干净的和重build – 应该解决这个问题
如果在生成global.asax
后更改名称空间信息(项目或类级别),则会发生这种情况。
右键单击Global.asax
文件并select“打开方式”,然后select“使用编码的XML(文本)编辑器”(其他编辑器也可以,但这是我使用的)。
然后编辑XML指令中的“inheritance”部分
<%@ Application Codebehind =“Global.asax.cs” Inherits =“GodsCreationTaxidermy.MvcApplication” Language =“C#”%>)
以便它匹配您的应用程序类的实际全名。 就是这样。
另一个select是从Global.asax.cs中复制所有代码,然后删除并创build另一个Global.asax文件(然后将代码复制回Global.asax.cs)。
我closures并重新开放视觉工作室,它的工作。
我不得不去build设 – >configuration经理和 – 啊哈 – 检查我的项目旁边的框,以确保它实际上build成。
我今天有这个问题,花了一段时间才find原因。
基本上,我主要的VS2015项目包括一个使用更高版本的.Net Framework构build的子项目。
奇怪的是,当你遇到这个问题时,VS2015会高兴地报告解决scheme已经build好了,但是当你尝试运行网站的时候,它只是给你一个误导性的错误,提示你的Global.asax.cs
文件是错误的。
所以,如果你看到这个错误,清理/重build不起作用,打开你的项目的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".
当然,解决scheme是右键单击主项目,select顶部选项卡“应用程序”,然后将Target Framework版本更改为与您的子项目匹配的更高版本。
很烦人的是,Visual Studio 2015将让你完全构build和运行解决scheme,悄悄地包含这个问题。 这是要求麻烦..!
我必须报告,我尝试了至less从这个职位的4个build议。 他们都没有工作。 然而,我很高兴地报告说,我通过恢复恢复恢复。 只需要从日志文件更新我最后的代码更改。 花了不到10分钟。 花了3次阅读这篇文章,并尝试其他的build议。 抱歉。
这是一个非常奇怪的错误。 祝你好运,遇到这个小鬼。
清空bin文件夹。 构build所有的相关类库并将其引用到主项目中,并构build完整的解决scheme。
资源
当我有2个Visual Studio运行同一个项目的实例时,我有同样的问题。 所以我closures了这两个Visual Studio,并打开只有一个实例,它现在正常工作!
我也面临同样的问题。 尽pipe遵循每个答案,但没有工作。 然后,我将“Inherits = namespace.class ”更改为“Inherits = 完全限定的汇编名称 ”,即“Inherits = namespace.class,assemblyname,Version =,Culture =,PublicKeyToken = ”希望它有帮助。
我正在研究一个较老的基于文件夹的ASP.NET Web项目(我厌恶) – 并发现这是我的修复:
创build一个App_Code
文件夹(如果你还没有)
将Global.asax.vb
文件移动到App_Code
文件夹中
Global.asax中的标记可以省略任何名称空间(至less对于这种types的项目,afaik):
<%@ Application Codebehind="Global.asax.vb" Inherits="MyApp" Language="VB" %>
…其中“MyApp”是在Global.asax.vb中定义的类的名称
您也可以在IIS中检查您网站的属性。 (在IIS中,右键单击该站点,然后select“属性”。)确保“物理path”设置指向应用程序的正确path,而不是其他应用程序。 (这为我解决了这个错误。)
这个问题我解决了给予权限的文件夹以及从IIS检查。
当我在当地环境中进行testing时,我获得了许可。 但是在发布模式中,我认为我们只给ASP.Net用户许可。
我也有同样的错误…检查正确开发的应用程序的名称即。 名称空间和程序集名称分配,还尝试物理更改为应用程序创build的文件夹的名称,所有这些应该与上述名称空间中存在的名称相同。global.asax
我也有同样的错误…检查您的虚拟目录的IISconfiguration,并确保属性 – ASP.NET – ASP.NET版本是相同的项目属性 – 应用程序 – 目标框架。 (这为我解决了这个错误。)
我的应用程序是在VS的旧版本中构build的,没有bin文件夹。 我已经升级到一个更新的版本,并有一个噩梦得到它部署。 我终于把这个错误追踪到了Project> Properties> Application。 目标框架设定为2.0; 在服务器上更改它以匹配IISpipe理器/应用程序池解决了我的问题。
我发现改变项目的命名空间,而不重构整个解决scheme是我的问题。 检查你的项目属性,看看你的名字空间是什么,确保排队,全线。
我刚刚遇到了一个MVC5应用程序,没有任何工作对我来说。 这发生在我试图做一个SVN恢复到一个旧版本的项目后。
我不得不删除 global.asax.cs,然后通过右键单击项目 – >添加新项目 – > Global.asax和THAT最后修复它添加一个新的。
只是认为这可能有助于某人。
问题是我没有在我的项目中包含global.asax.cs。 而且因为我是从.net 4.5拷贝文件到4.0,我没有注释掉4.0中不需要的行。 因为它没有被包括在视觉工作室编译它无论如何没有问题。 但是,当我把它包括在内时,就突出了导致问题的线条。
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); } } }
重build项目可以解决问题。
我花了一天的时间试图解决这个问题。
唯一有效的工作就是删除.sln文件,创build一个新文件,然后逐个添加项目。
(ツ)_ /¯ – 编程 – ¯\ _(ツ)_ /¯
firstly Fix your errors and after rebuild project its working
不能加载你的项目firstly Fix your errors and after rebuild project its working
对于我的情况,Web组件是GAC的一部分…所以在构build之后,它需要安装在GAC中并且工作。
我遇到了这个错误信息,最终发现错误信息是误导性的。 在我的情况下,在IIS中似乎有一个路由问题,导致从Web服务器上的另一个站点global.asax被读取,从而产生错误。
在IIS中,我的网站绑定到http:* 80:webservices.local并包含一个名为MyAPI的应用程序。 当使用Web服务器的IP地址调用MyAPI应用程序时,我收到了可怕的消息。
为了成功地调用我的应用程序,我必须在调用MyAPI应用程序的所有机器上添加一个用于webservices.local的主机文件条目。 然后,我的所有请求都必须以http://webservices.local/MyAPI/为前缀,以便正确路由。
我尝试了一切,没有任何工作。 我的项目是在2013年。我已经升级到VS 2015,并在2015年创build了所有我的新应用程序,但加载,编译,构build所有我在2013年构build的旧应用程序。
我最终只是在2015年加载解决scheme,并为我解决了它。
我用这种方法解决了这个问题:只需在Global.asax中修复名称空间 。
对于我们来说,configurationpipe理器将dll的构build显示为“64”和“任何cpu”构build的组合。
把他们都放到相同的构build修复它。