在我的 .Net 2.0 Asp.net WebForms 应用程序中,我的 Global.asax 包含以下代码:

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

但是,当我构建时,我收到一条错误消息 -

无法加载类型"MyNamespace.Global"。

这似乎是由于MyNamespace名称空间(背后的代码文件中定义Global.asax.cs)不是被编译器在全球。

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

注意2:当使用 csc 从 vs 提示符进行编译时,它可以正常编译。

答案

我遇到一种情况导致这个问题当你指定一个构建的平台通过"构建配置"。

如果您指定 x86 作为构建平台,Visual Studio 将自动指定 bin/x86/Debug 作为该项目的输出目录。

我在我的情况中发现它们被输出到两者(Bin 和 Bin/x86/Debug),除了一些 dll,并且莫名其妙地最重要的是您的 Web 应用程序 dll,从 Bin 中丢失了

这显然会导致编译问题,从而导致"无法加载全局类型"异常。

来自: stackoverflow.com