分析器错误:“/”应用程序中的服务器错误

时间:2012-07-21 22:30:17

标签: asp.net-mvc-3 code-behind

我收到以下错误:"在解析为此请求提供服务所需的资源期间发生错误。请查看以下特定的解析错误详细信息并适当修改源文件。"

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

19 个答案:

答案 0 :(得分:56)

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

现在双击Global.asax文件,查看Global.asax.cs文件中指定的类名。看起来应该是这样的:

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

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

答案 1 :(得分:39)

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

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

答案 2 :(得分:9)

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

答案 3 :(得分: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中清理然后重建项目。当我收到此错误时,这对我有用。

答案 4 :(得分:7)

  1. 转到“项目属性”
  2. 在页面底部查看输出路径
  3. 将路径更改为:bin \
  4. 保存并运行项目

答案 5 :(得分:6)

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

答案 6 :(得分:4)

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

要解决此问题,我需要在Global.asaxRight Click - &gt; View Markup)内更新命名空间,然后在Inherits属性中将此更新为“{{1 }}”。

答案 7 :(得分:0)

只是简单地将项目复制到另一个位置然后运行它会起作用我觉得问题是因为清理没有正确完成并且输出/ bin中可能有设置更改

答案 8 :(得分:0)

当我收到此错误时,我删除并重新克隆了Git文件夹;发生了什么事我忘了在VS2010中构建解决方案。一旦我建造它,一切都很好。有时它就像那样简单。

答案 9 :(得分:0)

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

#Build Results
[Bb]in/

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

BTW,我的最终gitignore文件(#Build results)部分最终看起来像这样:

# Build results

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

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

答案 10 :(得分:0)

就我而言,解决方案是下一个:

  1. 验证Global.asax的标记,在属性继承我有这个继承=&#34; NameOfMyProject.Global&#34;
  2. 然后,验证Global.asax.cs,我发现了这个:

    public class Global_asax:System.Web.HttpApplication

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

    继承=&#34; NameOfMyProject.Global_asax&#34;

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

答案 11 :(得分:0)

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

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

答案 12 :(得分:0)

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

答案 13 :(得分:0)

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

所以对我来说唯一的办法就是在整个解决方案中搜索旧的命名空间并用新的命名空间替换它们。可能不是最好的选择,但如果运气不好就行不错了

答案 14 :(得分:0)

重命名命名空间时会出现此错误。

-

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

enter image description here

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

enter image description here

  
      
  1. 保存现在应该可以使用..
  2.   

答案 15 :(得分:0)

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

答案 16 :(得分:0)

在我的解决方案中添加新项目后出现此问题。构建解决方案,没有问题 - 但随后在运行时遭到轰炸。

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

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

(感谢那个微软家伙没有任何警告)

答案 17 :(得分:0)

我使用FTP在服务器上上传我的网站的DLL,但有时当网站的主DLL未在服务器上正确上传时会发生此错误。< / p>

因此,我建议您再次重建项目并重新上传服务器上的主DLL

答案 18 :(得分:0)

在我们的例子中 - 删除已发布的Intranet站点的所有内容,并重新发布在调试中工作正常的项目修复了该问题。