无法加载“XXX.Global”类型

时间:2008-09-10 13:13:15

标签: asp.net visual-studio

将项目从ASP.NET 1.1迁移到ASP.NET 2.0,我不断遇到此错误。

我实际上并不需要Global,因为我没有添加任何内容,但是在删除之后我会收到更多错误。

18 个答案:

答案 0 :(得分:81)

我遇到此问题的原因是因为我更改了构建配置。当我将Web项目设置为x86时,它会将输出路径更改为bin\x86\Debug。但是,输出路径应为bin,因此Web服务器将找不到二进制文件。

因此,解决方案是在更改构建配置后将网站的输出路径更改回bin

答案 1 :(得分:55)

有一些事情你可以试试这个,似乎发生了很多,解决方案因看似每个人而异。

  • 如果您仍在使用IIS虚拟目录,请确保其指向正确的目录并检查其设置的ASP.NET版本,请确保将其设置为ASP.NET 2.0。

  • 清除所有bin / debug / obj。执行清洁解决方案,然后执行构建解决方案

  • 在文本编辑器中检查项目文件,确保查找全局文件的位置是正确的,有时它不会更改目录。

  • 从解决方案中删除全局,并在保存和关闭后将其添加回来。确保ASPX文件中的所有脚本标记都指向正确的脚本标记。

  • 您可以尝试运行转换为Web应用程序工具,该工具会重做所有代码和项目文件。

  • IIS Express使用了错误的根目录(请参阅VS 2012 launching app based on wrong path中的答案)

确保在尝试后关闭VS.

这些是我所知道的尝试。希望其中一个适合你。

答案 2 :(得分:5)

我发现当Global.asax。(vb | cs)没有正确转换为部分类时会发生这种情况。

最快的解决方案是使用[方括号]将类名'Global'包围起来(在VB.Net中):

Public Class [Global]
    Inherits System.Web.HttpApplication
    ...

答案 3 :(得分:5)

删除现有的global.asax文件并添加新文件,清除此错误。这对我很有用了。

答案 4 :(得分:3)

如果您使用visual studio 2010,则在更改配置部署类型时可能会发生此错误。 3种类型是x86,x64和混合模式。  更改为解决方案中所有项目的混合模式设置应解决此问题。如果您的ASP.NET网站,请不要忘记删除bin,Lib文件并更改tempdirectory输出。

答案 5 :(得分:2)

我通过简单地从Debug切换到Release,启动程序(它在发布时工作)修复了这个错误,然后切换回Debug。

我尝试了其他一切,包括重新启动Visual Studio,但没有任何效果。

答案 6 :(得分:2)

这恰好发生在我身上,在尝试了其他所有内容之后,我恰好注意到错误消息,即应用程序池设置为.Net 1.1。我将应用程序升级到2.0,转换为Web应用程序,但从未更改应用程序池:

版本信息: Microsoft .NET Framework版本:1.1.4322.2490; ASP.NET版本:1.1.4322.2494

答案 7 :(得分:2)

这个让我完全疯了,我找不到任何有用的东西来解决它。这可能不是大多数人有这个问题的原因,但我只是希望其他人能从这个问题中受益。

导致我的问题的原因是<clear />配置部分中的<assemblies>语句。我添加了这个,因为在生产中它是必需的,因为在同一主机方案中有多个不相关的应用程序,我不希望它们中的任何一个受到其他人的影响。更正确的解决方案就是在发布时使用Web配置转换。

希望这有助于其他人!

答案 8 :(得分:2)

更改地址的端口号(localhost :)对我有用:)

答案 9 :(得分:1)

在global.asax文件中删除Language =“c#”为我解决了这个问题。

答案 10 :(得分:1)

当您尝试访问Microsoft Dynamics NAV Web客户端时,会出现以下错误。 无法加载类型&#39; System.ServiceModel.Activation.HttpModule&#39;来自assembly&System; ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089 如果在运行IIS的计算机上有多个版本的.NET Framework,并且在.NET Framework 4.0之后或Windows Communication Foundation中的服务模型注册之前安装了IIS,则会发生此错误。

对于Windows 7和Windows Server 2008,请使用ASP.NET IIS注册工具(aspnet_regiis.exe)注册正确的ASP.NET版本。有关aspnet_regiis.exe的详细信息,请参阅Microsoft网站上的ASP.NET IIS注册工具。

试试这个解决方案 https://www.youtube.com/watch?v=LNwpNqgX7qw

答案 11 :(得分:1)

就我而言,我在本地复制了一个在线网站,并在Utildev Cassini中为asp.net 2.0本地获取此错误。原来我在本地只复制了global.asax,并没有复制它的App_code conterpart。复制它修复了问题。

答案 12 :(得分:1)

在我的例子中,编译Web应用程序的项目中的AfterBuild目标是导致此错误的原因。

有关详细信息,请参阅here

答案 13 :(得分:1)

我将此应用程序安装到服务器时遇到同样的问题。它最终成为安装程序项目,它没有安装运行Web应用程序所需的所有文件。我试图找出它被破坏的地方,但最后我不得不将项目还原到以前的版本来修复它。希望这有助于某人...

答案 14 :(得分:0)

确保项目的已编译dll放在正确的bin文件夹中。

在我的情况下,当我将子项目的编译目录更​​改为我们主项目的bin文件夹时,它可以工作。

答案 15 :(得分:0)

在我的情况下出现此错误,我正在重命名应用程序。我更改了项目的名称和类的名称,但忽略了更改&#34;程序集名称&#34;或&#34; Root命名空间&#34;在&#34;我的项目&#34;或项目属性。

答案 16 :(得分:0)

Deletin obj,bin文件夹和重建修复了我的问题

答案 17 :(得分:0)

我遇到了这个问题。

I solved it with this solution,通过向CREATOR OWNER授予Windows Temp文件夹的完整权限。由于某种原因,该用户完全没有权限。也许是因为前一段时间,我在计算机上运行了Combofix。