“无法加载类型 [Namespace].Global”让我很伤心

Posted

技术标签:

【中文标题】“无法加载类型 [Namespace].Global”让我很伤心【英文标题】:"Could not load type [Namespace].Global" causing me grief 【发布时间】:2011-01-01 14:55:18 【问题描述】:

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

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

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

无法加载类型“MyNamespace.Global”。

这似乎是因为编译器在 Global.asax 文件中看不到 MyNamespace 命名空间(在文件 Global.asax.cs 后面的代码中定义)(在 R# 智能中不显示..)。 事实证明这是一个非常难以破解的问题......任何帮助将不胜感激!

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

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

【问题讨论】:

应用程序中的其他页面是否有效?有时当网络服务器配置为运行 1.1 但应用程序编译为 2.0 时会发生这种情况 是的,“目标框架”是 2.0 【参考方案1】:

听起来很愚蠢。这就是我所做的..

我的项目针对的是 4.6.1 版本。 将目标版本更改为 4.6.2。建造它。 删除了 obj 和 bin 文件夹。 & 再次将版本更改为 4.6.1。宾果游戏!!

【讨论】:

【参考方案2】:

从事开发游戏近 20 年,这个栗子在多个项目中一直困扰着我。

因此,今天再次遇到同样的问题,针对另一个项目,我决定进一步调查,我相信这与 Bin 文件夹位置有关......或更具体地说,与 bin 文件夹的输出路径有关。

对我来说,对于配置为通过 IIS 运行/调试的简单基于服务的 Web 应用程序,它将输出路径从 bin\debug 更改为 bin\ 解决了它

项目>属性>构建>输出路径

真心希望这会有所帮助。

【讨论】:

【参考方案3】:

您需要将输出路径设置为 bin\

【讨论】:

【参考方案4】:

我们有一个在 PROD 服务器上运行的 .net 应用程序。当我们将 bin 文件夹复制到服务器以获取最新版本时,我们得到了同样的错误。我们无法理解发生了什么。它在本地和 TEST 服务器上运行良好。经过一番挖掘,我注意到一些上传的文件的大小为 0 字节。

原来是 FTP 客户端 (Filezilla) 损坏了一些上传的文件,这可以理解地使 .net 认为某些库位于其他位置或丢失。

我们尝试了另一个 FTP 客户端并重新上传了所有文件。这似乎成功了。

【讨论】:

以上是关于“无法加载类型 [Namespace].Global”让我很伤心的主要内容,如果未能解决你的问题,请参考以下文章