38

我收到以下错误:“解析服务此请求所需的资源时发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。”

Parser Error Message: `Could not load type 'nadeem.MvcApplication'`.
Source Error:  Line 1:  <%@ Application Codebehind="Global.asax.cs" Inherits="nadeem.MvcApplication" Language="C#" %>
4

20 回答 20

57

右键单击您的Global.asax文件,然后单击View Markup。您将看到属性Inherits="nadeem.MvcApplication"。这意味着您的Global.asax文件正在尝试从 type 继承nadeem.MvcApplication

现在双击您的Global.asax文件并查看Global.asax.cs文件中指定的类名是什么。它应该看起来像这样:

namespace nadeem
{
    public class MvcApplication: System.Web.HttpApplication
    {
    ....

如果没有,那么您将收到您收到的错误。Inherits文件属性中的值Global.asax必须与派生自System.Web.HttpApplication.

于 2012-07-21T22:39:21.933 回答
39

当我将项目源下载到两个位置时,我遇到了完全相同的问题。问题原来是通过下载源它改变了站点的虚拟目录位置,因为我没有重建第二个源,所以那里没有 DLL。

  1. 要解决此问题,请打开您要构建的项目并转到网站属性(项目菜单)
  2. 为项目创建虚拟目录。
  3. 重建项目。

固定的

于 2014-02-10T08:04:06.307 回答
9

在我的解决方案中完成我的所有项目以将编译设置为输出到bin\debugbin\release 之后,这个问题对我来说就开始了。我终于意识到启动项目(即带有global.asax的项目)只需要输出到bin

于 2014-12-29T21:54:58.670 回答
8

由于通常您创建一个 MVC 项目,因此 Global.asax 标记具有以下内容:

<%@ Application Codebehind="Global.asax.cs" Inherits="StackOverflow.MvcApplication" Language="C#" %>

您是否将 Global.asax.cs 放在另一个项目中?如果您已从 Global.asax 中删除 CodeBehind="..." 声明并更改 Inherits="..." 声明以引用 Global.asax.cs 文件中定义的正确命名空间和类名。

如果您尚未移动它,请尝试使用 Web 项目上的上下文菜单在 Visual Studio 中清理然后重建项目。当我收到此错误时,这对我有用。

于 2012-07-21T22:38:40.010 回答
7
  1. 转到项目属性
  2. 在页面底部查看输出路径
  3. 将路径更改为:bin\
  4. 保存并运行项目
于 2014-01-13T06:00:31.403 回答
6

该案例已解决,但如果您的项目正在构建到与 IIS_Virtual_Directory\bin 不同的目录并且缺少 dll,您也可能会收到此错误。

于 2013-06-10T17:50:51.973 回答
4

正如凯文回答的那样。我正在更改我的 MVC 项目中的项目名称和命名空间。当我运行应用程序时,我得到了同样的错误“第 1 行:<% .....”。

为了解决这个问题,我需要更新Global.asaxRight Click-> View Markup)中的命名空间,然后在Inherits属性中将其更新为“ <correct root namespace for MVC project>.MvcApplication”。

于 2012-12-19T22:43:26.903 回答
0

只需将项目复制到另一个位置并运行它就可以了

于 2013-04-26T04:21:20.060 回答
0

当我收到此错误时,是在我删除并重新克隆了一个 Git 文件夹之后;发生的事情是我忘记在 VS2010 中构建解决方案。一旦我建立它,一切都很好。有时它真的很简单。

于 2013-05-01T02:57:49.170 回答
0

在我的情况下,我遇到了同样的错误。我正在使用 git 和 Source Tree 进行版本控制。在我的情况下,项目中启用了 git,但我没有使用 Visual Studio 来暂存我的提交等。我使用的是 Source Tree。这并不重要我使用的是什么问题是visual studio已将以下行放入我的gitignore文件中:

#Build Results
[Bb]in/

那是忽略 bin 文件夹,因此我的 bin 文件夹永远不会被推送到服务器,一旦我删除了该行并提交了整个 bin 目录并将其推送到服务器,然后转到服务器并执行了 git pull。bin 文件夹出现了,一切都开始工作了!

顺便说一句,我最终的 gitignore 文件(#Build 结果)部分最终看起来像这样:

# Build results

[Dd]ebug/
[Rr]elease/
x64/
build/
[Oo]bj/

我仍然不确定是否需要将 Obj 文件夹推送到服务器,但现在一切正常。

于 2014-10-14T18:40:31.337 回答
0

当我尝试合并两个解决方案时,这发生在我身上。问题是没有在所有文件中正确配置命名空间。故事的一部分用@Kevin Aenmey 的回答解决了,但很多其他的......不是!

所以对我来说唯一的方法是在整个解决方案中搜索旧的命名空间并将它们全部替换为新的命名空间。也许不是最好的选择,但如果运气不好,效果很好

于 2016-12-13T16:06:16.310 回答
0

对我来说,从 BIN 文件夹中删除 dll,然后构建项目工作

于 2022-02-23T22:02:33.520 回答
0

在我的情况下,它会有所帮助:如果您使用默认项目以外的文件夹(D 驱动器上的 naprmer,在 Windows 的情况下),则更改为默认文件夹,创建项目,运行它。然后,您可以在您想要的文件夹中创建项目。奇怪的。但这对我有帮助。

于 2016-08-22T07:03:13.367 回答
0

我正在从视频资源中学习,并在被告知在视图中按 Ctrl-F5 以直接加载它时遇到此错误。通过这样做,我遇到了您发布的相同错误消息。

为了解决这个问题,我构建了解决方案(构建 > 构建解决方案或 Ctrl+Shift+B),然后重试。

于 2016-07-25T14:44:01.167 回答
0

我曾经在服务器FTP上上传DLL我的网站,但有时当DLL网站的主要内容没有在服务器上正确上传时会发生此错误。

所以我建议你重建你的项目并再次在服务器上重新上传 main DLL

于 2017-09-01T14:47:09.133 回答
0

在我的解决方案中添加一个新项目后,我遇到了这个问题。解决方案已构建,没问题 - 但随后在运行时被轰炸。

事实证明,新项目默认设置为以 .NET 4.6.1 为目标,而我的解决方案中的其他所有内容都以 .NET 4.5 为目标。

将新项目中的目标框架更改为 .NET 4.5 以匹配其他框架解决了该问题。

(感谢没有警告那个微软人)

于 2017-06-10T17:24:22.263 回答
0

我遇到了同样的问题,那是因为我没有构建解决方案。菜鸟失误。只是:构建解决方案(Ctrl + shift + b)

于 2017-05-12T15:12:20.460 回答
0

重命名命名空间时会导致此错误。

-

  1. 转到文件夹探索(不要使用解决方案探索)。查找Global.asax文件

.

在此处输入图像描述

  1. 打开文件(在记事本/任何编辑器中)并更改替换旧命名空间名称新命名空间

. 在此处输入图像描述

  1. 保存它现在应该可以工作了..
于 2017-01-18T18:18:56.027 回答
0

在我的情况下,解决方案是下一个:

  1. 验证 Global.asax 的标记,在属性Inherits我有这个 Inherits="NameOfMyProject.Global"
  2. 然后,验证 Global.asax.cs,我发现了这个:

    公共类 Global_asax : System.Web.HttpApplication

  3. 因此,我更改了 Global.asax 中的属性Inherits,最后标记为下一个:

    Inherits="NameOfMyProject.Global_asax"

  4. 另外,我在管理工具中启动了:ASP.NET 状态服务。然后,我的应用程序运行正常。

于 2015-12-15T14:29:39.840 回答
0

在我们的例子中 - 删除已发布的 Intranet 站点的所有内容,并重新发布在调试中运行良好的项目解决了该问题。

于 2018-03-14T17:05:24.300 回答