分析器错误消息:无法加载类型'sometype'

Anc*_*end 26 c# asp.net global-asax

我遇到一个错误,我现在无法解决一段时间了.我想知道是否有人可以帮助确定此错误的原因?我是asp/asax的新手.经过一些研究,我认为我得到的错误是由于Web应用程序试图使用过时的代码.我正在考虑使用Visual Studio和/或整个项目重建c#文件.但是,我对C#和asp完全不熟悉,并且想知道可以给我一些建议,如果这可以解决问题和/或是否有可能的替代解决方案.

错误信息

Parser Error Message: Could not load type 'Inventory1.Global'.

Source Error:   <%@ Application Codebehind="Global.asax.cs" Inherits="Inventory1.Global" %>
Run Code Online (Sandbox Code Playgroud)

整个 Global.asax内容:

<%@ Application Codebehind="Global.asax.cs" Inherits="Inventory1.Global" %>
Run Code Online (Sandbox Code Playgroud)

Tah*_*qui 35

尝试更换代码隐藏的CodeFile

  • 你能解释为什么这解决了AnchovyLegend的问题吗?我遇到了同样的问题,但我想知道为什么在我申请之前这会解决问题. (6认同)
  • 这个建议似乎会改变项目的性质.请参阅http://stackoverflow.com/questions/73022/codefile-vs-codebehind - 这会将其更改为即时编译. (5认同)

3Da*_*ave 9

无法加载类型

表示无法加载类型.(在这种情况下,"类型"指Inventory1.Global).类型位于已编译的DLL中.因此,DLL不可用,已过期,或者不包含public具有给定名称的类型.

一些可能的原因是:

  • 您没有使用给定名称声明的类型.对于您的示例,您应该具有以下内容:
namespace Inventory1 {
  public class Global {
  ...
  }
}
Run Code Online (Sandbox Code Playgroud)

注意:避免使用像Inventory1.他们暗示存在Inventory2,Inventory3等等,这是不好的做法,因为他们是abmiguous,不是很描述.此外,Global非常模糊,可能会引入与全局命名空间的混淆.

  • 确保您的案例匹配(Inventory1,而不是INVENTORY1.)
  • 您尚未编译该项目.在VS中,重建解决方案.
  • 声明该类的程序集有编译错误,因此相关的DLL丢失或过期.确保您已解决所有错误.
  • 该类未标记为public.

如果我不得不猜测,我会把钱花在编译错误上.与PHP和其他解释型语言不同,C#必须先成功编译才能使用.

  • 这就是您收到运行时错误的原因。您必须先解决这些问题,然后才能运行该页面。 (2认同)

小智 6

我有这个错误,只需要重建项目


Vig*_*ian 5

我遇到了这个问题,我从这里得到了解决方案,我想分享一下。

解决方法 清空 bin 文件夹。构建所有依赖类库并在主项目中引用它们并构建完整的解决方案。

我这样做了,它对我来说就像一个魅力!