无法从App_Code文件夹加载类型(网站不是网络应用程序)

时间:2013-01-28 16:21:13

标签: c# asp.net

我一直有这个问题了。我无法从代码隐藏文件中加载类型。

例如:

<%@ Application Codebehind="~/App_Code/GlobalAsax.cs" Inherits="BaseGlobal.GlobalAsax" Language="C#" %>

这是我的c#GlobalAsax.cs文件:

namespace BaseGlobal
{
    public class GlobalAsax : System.Web.HttpApplication
    {
        //code in here... 
    }

}

具体错误:

  

无法加载类型BaseGlobal.GlobalAsax

为什么我收到错误?我一直想弄清楚这一点。注意:这是一个网站项目,而不是一个网络应用程序。

谢谢你们!

5 个答案:

答案 0 :(得分:2)

从我的头顶开始...

1)您是否尝试过添加Src属性?

Src="~/App_Code/GlobalAsax.cs"

2)您是否预先编译了代码隐藏类?

3)您确定路径已解析到正确的路径吗?您是否尝试过使用绝对路径来确定?

答案 1 :(得分:0)

尝试使用相对文件路径而不是urbe作为codebehind属性。与App_Code\GlobalAsax.cs

一样

答案 2 :(得分:0)

在我完成的所有工作中,Global.asax不使用codebehind指令中的Application属性。对于Inherits属性,请确保提供完全限定的类名(带有完整的命名空间)。这非常依赖于您在Project属性中设置的内容。查看“Root namespace”值以查看是否需要在Inherits属性中包含更多内容。

注意:“Root namespace”字段的确切名称和位置可能因您使用的Project类型和Visual Studio版本而有所不同。

答案 3 :(得分:0)

更改Web项目的输出路径。设置为bin \ debug但除非输出路径设置为“bin”

,否则Web项目不起作用

答案 4 :(得分:0)

当代码文件在App_Code中时,您不需要指定CodeBehind,请尝试:

<%@ Application Inherits="BaseGlobal.GlobalAsax" %>