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

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

源错误:

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

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

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


当前回答

Yes, I read all the answers. However, if you are me and have been pulling out all of what's left of your hair, then try checking the \bin folder. Like most proj files might have several configurations grouped under the XML element PropertyGroup, then I changed the OutputPath value from 'bin\Debug' to remove the '\Debug' part and Rebuild. This placed the files in the \bin folder allowing the Express IIS to find and load the build. I am left wondering what is the correct way to manage these different builds so that a local debug deploy is able to find and load the target environment.

其他回答

我花了好几天时间研究这个问题。我最终通过以下这篇文章中的建议解决了这个问题。

将平台目标更改为任意CPU。我目前没有这个配置,所以我必须去配置管理器并添加它。我专门为x64编译。仅凭这一点并不能解决错误。 将输出路径更改为bin\而不是bin\x64\Debug。在我改变平台目标之前,我已经尝试过几次了。它只会得到一个错误,因为格式无效而无法加载程序集。

要明确的是,在它开始工作之前,我必须做这两件事。我已经尝试了多次,但它从来没有解决,直到我做了两个。

如果我将这些设置中的任何一个更改回原来的设置,我将再次得到相同的错误,尽管已经运行了Clean Solution,并手动删除了bin目录中的所有内容。

我也得到了同样的错误…检查您正确开发的应用程序的名称。分配的名称空间和程序集名称,并尝试物理地更改为应用程序创建的文件夹名称,所有这些都应该与文件global.asax中出现的上述名称空间中的名称相同

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

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

我今天遇到了这个问题,我花了一段时间才找到原因。

基本上,我的VS2015主项目包括一个使用更高版本的. net Framework构建的子项目。

奇怪的是,当你遇到这个问题时,VS2015会很高兴地报告解决方案已经构建好了,但当你尝试运行网站时,它只是给你一个误导性的错误,表明你的Global.asax.cs文件是错误的。

因此,如果您看到这个错误,并且清理/重建不起作用,打开项目的引用树,并检查感叹号。

同样,检查你的输出窗口是否有这样的消息:

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".

当然,解决方案是右键单击您的主项目,选择顶部选项卡“Application”,并将目标框架版本更改为与您的子项目匹配的更高版本。

Visual Studio 2015会让你完全构建和运行包含这个问题的解决方案,这很令人恼火。这是自找麻烦!

有两种方法:

配置管理器将dll构建显示为'64'和'any cpu'构建的混合。 将它们都放在同一个构建中可以解决这个问题。 在分支之间切换时,IIS快速路径有时不会更新。右键单击任务栏中的“IIS Express”>显示所有应用程序,并验证路径是否指向正确的分支。