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

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

错误信息

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

整个 Global.asax内容:

  

尝试用CodeFile替换CodeBehind

无法加载类型

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

一些可能的原因是:

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

注意 :避免像Inventory1这样的名称。 他们暗示有一个Inventory2Inventory3等,这是一种不好的做法,因为它们很简洁,而且描述性很差。 此外, Global非常模糊,可能会引起全局命名空间的混淆。

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

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

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

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

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

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

这发生在我本地的机器上。 问题是IISExpres配置不正确。 如果您在本地环境中遇到此问题(Visual Studio调试运行),请检查IIS Express配置文件。 确保您的本地站点/应用程序路径指向正确的位置。

配置文件名为applicationhost.config 。 它存储在这里:我的文档> IIS Express>配置。 通常(并非总是)这些路径之一将起作用:

  • %USERPROFILE%\文件\ iisexpress \设置\对ApplicationHost.config
  • %userprofile%\ my documents \ iisexpress \ config \ applicationhost.config

在寻找可能导致这种情况的原因后,我发现了一些我需要做的事情才能使我的项目运行…

(注意:你可能不需要做所有这些 – 这是一个个案的事情)

  • 如果您从IIS Express到本地IIS进行了任何更改,则可能需要将构建配置从bin/debug更改为bin 。 (右键点击解决方案>>属性>>构建>>输出)

  • 如果您有URL重写,则需要在本地IIS上安装URL重写 。

  • 导航到您的applicationhosts.config文件(通常是C:\Users\username\Documents\IISExpress\config ),并将文件重命名为applicationhostsOLD.config

  • 清理并重建您的项目。 您可能需要手动清空垃圾箱。

现在你应该好好去。

因为它只发生在IISexpress上,所以将bin \ Debug \的输出更改为bin \解决了它。 将标签CodeBehind更改为CodeFile只会产生更多问题。

它在dll程序集中找不到必要的文件。 重建项目,重建解决方案,然后再次尝试。

你可能会重命名一些东西。 检查Global.asax.cs文件中的类声明,并确保命名空间和类名与asax文件中的名称完全匹配。 这包括案例! 你可以将.cs文件的命名空间和类声明复制/粘贴到这里的post中,以便我们可以比较吗?

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

在完成上述评论中建议的所有内容后,没有运气,刷新(上传)/ bin的内容到服务器工作。 上传到bin的文件是:dll,pdb和xml。 不知道是哪一个做到了。

我在这里遇到的问题是通过在解决方案资源管理器中重命名文件( _ .aspx)来实现的。

重建/重新发布我的项目/解决方案到服务器没有帮助我,我怀疑这将有助于许多摆脱这种困境。 对我来说,我做了一些事情来解决这个问题,最终让我走出了这个“漏洞”。

我一直试图在网站上使用绑定,但这不起作用。 我尝试使用http://localhost/Report.aspx调用该站点(这是我的主页,我选择不调用Default.aspx – 我将更新“默认文档”部分,后面带有名称)当我得到OP看到的分析器错误。 所以我试了一些东西:

我停止了旧项目的网站并构建了另一个简单的Web项目,该项目在页面上有“hello”和标签,没有别的。 我在Page_Load中有一行用“world!”填充标签的Text属性,只是为了确保该部分正常工作。 我在端口80上创建了一个新网站,并将我网站的已发布内容传输到服务器。 因此,即使我在服务器上安装了.NET 4.5(并且已经从4.0目录运行了aspnet_regiis -i命令),并且我用于此新项目的IIS中的应用程序池设置为4.0,浏览器也抱怨web.config中包含targetFramework=4.5.2 ,这是Visual Studio 2015的默认框架。 所以我安装了.NET 4.6(NDP46-KB3045557-x86-x64-AllOS-ENU.exe),重新启动了服务器,然后我的简单站点工作了。 所以我删除了这个网站 – 我想做的只是certificate我的安装步骤是准确的,服务器可以运行一个网站。

然后我回到原来的项目/网站 – 我删除并重新创建了网站。 我把应用程序池放到我最初为此创建的那个,我确保运行.NET 4.0。 一旦我这样做,我导航到我的网站,当使用http://localhost/Report.aspx时一切正常。 因此,在我看来是什么原因导致这是您正在使用的.NET Framework版本。

我尝试了上面列出的所有解决方案,但都没有奏效。 我终于创建了一个新的网页(webform)并将所有代码(cs和aspx文件)从旧版本中删除,删除旧的cs和aspx文件,重新编译,现在我又回到了商业中。 我知道这没有意义。 它应该不重要,但它有效。

请尝试将项目作为项目/解决方案打开,最有可能解决错误。 这种类型的错误无法加载类型….当我们尝试打开项目作为网站时发生。

我试图打开我的项目作为解决方案,它解决了我的问题。

请检查所有位置的命名空间和类名。在一种情况下,一个团队成员更改了命名空间,我在.aspx文件中使用旧命名空间。 这引起了问题。 我更新了命名空间,它开始工作了。

我正在我的基础项目中修复我的命名空间,然后我开始在另一个引用它的项目上看到这个错误。 我不得不删除对Base Project的引用并重新添加它,然后它再次开始工作。