在我的.NET2.0ASP.net网络表单应用程序,我有我的全球.asax包含以下代码:

<%@ Application CodeBehind="Global.asax.cs" Inherits="MyNamespace.Global" Language="C#" %>

然而,当我构建时,我会得到一个错误-

无法加载类型‘MyNamespace.Global’.

这似乎是因为MyNamespace命名空间(在代码隐藏文件Global.asax.cs中定义)不被编译器在全局文件中看到.asax文件(在R#intellisence..中不显示).

注:Global.asax和Global.asax.cs位于同一文件夹中.

注2:当使用csc从vs提示符编译时,它编译正常.

推荐答案

我遇到的一种情况导致了这个问题,那就是通过"构建配置"为构建指定平台.

如果将x86指定为生成平台,visual studio将自动将bin/x86/Debug指定为此项目的输出目录.这对其他项目类型完全有效,除了ASP.NET希望将程序集输出到Bin文件夹.

在我的情况下,我发现它们都被输出到了(Bin和Bin/x86/Debug),只是Bin文件夹中缺少了一些dll,而且令人费解的是,最重要的是您的web应用程序dll.

这显然导致了编译问题,因此出现了"无法加载类型全局"异常.清理解决方案和删除程序集对后续构建没有影响.我的解决方案是将web应用程序的项目设置中的输出路径更改为Bin(而不是Bin/x86/Debug).

Asp.net相关问答推荐

ASP.NET多行查询文本框中的多个名称并将结果添加到单个网格视图

有人可以解释一下这个Eager 加载示例吗?

如何将标头中的用户名/密码传递给 SOAP WCF 服务

Thread.CurrentPrincipal 错误地声称是匿名的

如何在 GridView 单元格中的(即
)中呈现解码的 HTML

某些黑客能否从用户那里窃取 Web 浏览器 cookie 并在网站上使用该名称登录?

如何防止 Azure 网站进入Hibernate 状态?

是否可以使用 Membership API 更改用户名

无法加载文件或程序集 'System.Web.Mvc,版本 = 3.0.0.0,Elmah.MVC 问题

如何在 Visual Studio 2017 中使用 NPM 并安装包?

ASP.NET vNext 与主机无关,这意味着什么?

在 ApiController 中添加自定义响应头

Azure Functions 中的 DI

HttpResponse.End 或 HttpResponse.Close 与 HttpResponse.SuppressContent

调查 Web.Config 重复部分原因的步骤

如何进入 IIS 管理器?

IISExpress 找不到使用 Visual Studio 2013 运行 localhost 的 ssl 页面

如何将我的 Autofac 容器插入 ASP. NET 身份 2.1

IIS 是否执行非法字符替换?如果是这样,如何阻止它?

在 ASP.NET 中写入文件以响应后回发不起作用