“无法加载types .Global”导致我悲伤

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

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

但是,当我build立我得到一个错误陈述 –

无法加载types“MyNamespace.Global”。

这似乎是因为编译器在Global.asax文件中看不到MyNamespace命名空间(在Global.asax.cs后面的代码中定义)(不显示在R#intellisence中)。 这原来是一个非常难的坚果破解…任何帮助将不胜感激!

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

注2:使用csc编译vs提示时,编译成功

我遇到的一个导致这个问题的情况是当你通过“Build Configuration”指定一个构build平台的时候。

如果您将x86指定为构build平台,Visual Studio将自动将bin / x86 / Debug指定为此项目的输出目录。 这对于其他项目types是完全有效的,除了ASP.NET期望程序集输出到Bin文件夹的Web应用程序之外。

我发现在我的情况是,他们被输出到这两个(斌和Bin / x86 /debugging),除了一些dll的,莫名其妙地最重要的是你的web应用程序的dll,从斌夹。

这显然导致了编译问题,因此“无法加载types全局”exception。 清理解决scheme并删除组件对后续的构build没有任何影响。 我的解决scheme是将项目设置中的Web应用程序的输出path更改为Bin(而不是bin / x86 / Debug)。

你有没有改变你的项目的命名空间? 我偶尔看到过这种情况,我在“项目属性”对话框中更改了名称空间,但是Visual Studio没有更改现有代码文件中的namespace声明。

我是asp.net开发新手,遇到了类似的问题。

我更新了类作为partial类,它工作正常。

 public partial class Global : System.Web.HttpApplication 

我重新启动Visual Studio,错误消失了!

检查Global.asax.cs的构build操作。 它应该被设置为编译。

在解决scheme资源pipe理器中,右键单击Global.asax.cs并转到属性。 在“属性”窗格中,设置“构build操作”(而不是debugging)。

看来VS 2008并不总是正确添加.asax(.cs)文件。

在我的情况下,它与项目的网站/ Web应用程序types有关。 我们最近转移到MVC,并不得不将其更改为Web应用程序。

因此,解决scheme很简单:在解决scheme资源pipe理器中select您的网站并将其从解决scheme中删除,然后右键单击解决scheme并select添加 – >现有项目( 而不是网站 ),重新编译该网站。

我有一个类似的错误,当有一个

 <clear/> 

标记为孩子(第一个孩子)的

 <assemblies> 

标记在我的Web.config 。 我已经在我的web.config中插入了标签,以防止在IIS中的“默认网站”下部署的应用程序中的configurationinheritance。

这是另外一本书。 看起来,如果从同一端口号启动多个Web应用程序,就会发生这种情况。

基本上,我有几个分支机构,我有一个主分支和一个分支分支和一个发布分支。 当我切换分支到分支分支时,我注意到它使用的是相同的端口地址configuration,所以我select改变它。 然后我又收到另一个警告,说这个保留与另一个configuration的应用程 IIS Express服务器对此非常敏感,无论出于何种原因,它都会使configuration无法正常工作。

通过简单地挑选第三个不受影响的端口,这个问题就消失了,因为它将端口映射到一个新的目录映射(我的分支在磁盘上的位置不同)。 我注意到了这一点,因为我试图改变由Global.asax指向的types名称,但即使在重新启动服务器后,types名称也没有改变,所以很明显,我更改的代码没有反映在IIS Express部署中。

所以,在你失去太多睡眠之前,试着改变当前用于运行web项目的IIS端口号。

我已经将我的解决scheme从VS2003转换为VS2010,并且在转换Web应用程序项目时遇到了问题。

我经历了完全相同的问题,没有答案为我工作。

对我有效的是:

  • 右键单击解决scheme,然后selectconfigurationpipe理器
  • 查看“活动解决schemeconfiguration”下拉列表中的每个configuration。
  • 通过勾选“构build”checkbox,将Web应用程序包含在构build中。

似乎我在转换过程中遇到的问题已经由于某种原因从构build中删除了Web应用程序项目。

希望这个答案可以帮助其他人有同样的问题…

  1. 右键单击项目解决scheme,然后select批量生成。
  2. 然后select您的项目名称和清理和重build。

对于我2015年的工作很好,现在我可以使用全球活动。 我的Global.asax文件有这行

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

我在类AppCode文件夹中创build类文件Global.asax.cs

 public partial class Global : HttpApplication { public Global() { // // TODO: Add constructor logic here // } } 

我希望这会有所帮助

如果您重build或更改项目并移动旧文件,请确保检查全局的inheritance块。 在我的情况下,前一个项目/解决scheme被命名为内联网,我已经重新创build了内联网,但是当我移动文件时,它不喜欢小写字母(duh)。 只需对文件的名称进行一般性的查看即可。

旧post,但我试图从网站项目转换为Web应用程序项目时,出现此错误。

按照此链接上的说明进行操作。 我仍然得到global.asax错误,但我所做的只是删除它,并通过右键单击Visual Studio中的项目并select添加新项目重新添加它。 添加global.asax文件,它的工作。

更改程序集的GUID。 这解决了许多许多问题,我发现。

我有一个类似的问题,我在一个项目上收到这个错误。

 “Could not load type [Namespace].Global Error in Line 1 etc etc 

花了一些时间后,我怀疑在一个类..later注释,具体function我的问题得到解决可能的错误的函数。

我不知道为什么Visual Studio在debugging的时候没有给我这个特定的错误。 但是由于类文件中的一些错误,可能会发生这个错误。

不幸的是,这些都不适合我。 我发现的修补程序更具体到开发,特别是在本地机器上进行debugging。 另外不幸的是,这并不能真正解决我所期望的问题,但是如果你的智慧结束了,这可能会让你再次运行。

TL; DR:在项目属性中的“Web”选项卡的“服务器”下,select“使用本地IIS Web服务器”。 地址,

 http://localhost/MyApp" 

已经填充(我有IIS7,.NET 4.0)。 最初select的是“使用Visual Studio Development Server”,虚拟path为“/”

我感到困惑的是,没有别的办法,我经历了所有我能find的build议,没有什么可行的。 奇怪的是,这个错误是(看起来,这是从我上次看了几个月)performance出来,当我添加一个新的ascx文件,类似于从旧的.net 2.0(我认为)项目中添加一个现有的这将允许从应用程序内部进行自定义用户pipe理。 它工作,很长一段时间,直到我试图添加这个新的文件。 添加之后,看到这个错误,我立即恢复了所有的修改,但是Global.ascx错误不会消失,甚至不会把整个项目吹掉,重新从源代码控制中重新获取。

这个工作对我来说:第一件事:似乎无论你对Visual Studio说了什么,IDE总是看着文件:bin(对于web应用程序,在我的情况下偏离课程)所以,即使当我对visual studio一个特定的path来加载文件,IDE不断寻找错误的path。 所以我改变:生成/configurationpipe理器的输出types为:发布(以前我清理解决scheme,甚至手动),所以,当文件.dll创build,然后我手动移动到项目/解决scheme下的“bin”文件夹夹。 希望这将是有益的!

在我的情况下,这是因为我的目标处理器(x64)我把它改为x86清理项目,重新启动VS(2012),并重build项目; 然后它消失了。

当我最近遇到这个问题时,我尝试了这里提到的一切,但都无济于事。 撕掉我的头发后,我决定尝试删除我的整个代码库(是的,非常绝望!),然后重新下载从我的代码库的一切。 做完这一切后,再次正常工作。

似乎是一个极端的解决scheme,但只是以为我会把它包括在这里,因为在这个线程中没有提到过。

(请注意,我遇到过这个问题的另外一次,是当Global.asax从一个需要在主机上注册的组件中inheritance时,这个错误导致我得到了同样的问题)。

TL; DR; 如果此线程中的所有答案都不适合您,请尝试删除然后重新下载您的整个代码库!

我已经碰到过这个问题几次了,在每种情况下,我都在重build计算机或切换到新计算机。 我的第一步(除了更新机器和安装Visual Studio)是从Git拉下我的项目,并进行testing。

我每次都遇到这个错误,因为在编译之前我试图访问我的本地代码。 你看,我有Git和Subversion安装程序忽略我的bin / build文件夹,所以在从我的仓库中拉出后,我忘了运行一个构build,从Nuget中抽取所需的包(因为我也有Git / SVN忽略),并创build实际运行我的应用程序所需的DLL。

我怀疑这将解决大多数人的问题,但我没有看到它的潜在解决scheme的名单,所以我想我会添加它。

我被同样的困扰问题弄糊涂了。 我试图删除和和global.asax (封闭VS2010之前添加)。 清理项目/解决scheme,检查Web应用程序configuration中的任何更改以及在SO线程中为其他人员工作的其他内容。 我终于清理了解决scheme,删除了bin / obj文件夹,并停止了任何运行的VS2010开发服务器,然后我恢复了所有更改,发现应用程序再次运行。 我redid相同的东西,现在它的工作正常。

再次发生,这次这个解决scheme为我工作。

根据您的解决scheme的属性转到configurationpipe理器。 然后确保所有的项目和build设,这不会是一个问题。

我不得不从磁盘上删除(重复)文件中没有包含在项目中的文件。 看起来重复是由重命名失败造成的。 文件名称不同,但代码相同。

删除所有的oof。*文件后,我可以扫描。

  • foo.aspx
  • foo.aspx.cs
  • foo.aspx.designer.cs
  • oof.aspx
  • oof.aspx.cs
  • oof.aspx.designer.cs

在我的情况下,IISExpress指向与IIS相同的端口来解决它

 C:\Users\Your-User-Name\Documents\IISExpress\config\applicationhost.config 

并search端口,你会发现<site>...</site>标签,你需要删除或注释它

在我的情况下,我已经将Global.asax添加到WCF项目来试验它,但决定删除它。 我从解决scheme资源pipe理器中删除它,但由于它仍然在文件夹中,pipe道仍在find它并导致此错误。

我从文件系统中删除了Global.ASAX和GLobal.asax.cs,并解决了错误。

我只在部署在prod服务器上时遇到此问题。 在我的其他环境中,它的工作原理…我刚刚删除bin文件夹中的东西,然后重新发布,然后工作。

如果您正在使用Visual Studio,您可能正尝试在释放模式下执行应用程序,请尝试将其更改为“debugging模式”。

我试图重build解决scheme,清除ASP.NET临时文件没有成功。
但是在运行IISRESET之后 ,错误消失了。

更新 :1个月后又出现同样的问题。 我注意到,MyWebsite.DLL存在于bin文件夹中,但不存在于临时ASP.NET文件(C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files)中。 我已经尝试了一些东西,这是build议对此和“parsing器错误消息:无法加载types”在Global.asax问题(我实际上忘了我自己的答案),但错误消失后,只有在IISRESET

那么在我的情况下VS 2017,轻量级的解决scheme负载导致这个问题。 我禁用它并重新启动VS然后重新构build我的解决scheme和问题消失了。

只是想增加我的两分钱。 我收到了同样的错误,我尝试了所有的build议都无济于事。 我的情况可能有所不同?

原来,自动生成的“AssemblyInfo.cs”文件有一些额外的空间,这阻止了我启动Web应用程序(通过debugging)。 这是文件的样子:

 [assembly: AssemblyTitle("WebApplication2")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany(" ")] [assembly: AssemblyProduct("WebApplication2")] [assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] 

杀死AssemblyCompany和AssemblyCopyright中的空间之后,我终于能够build立并启动项目。

在以下环境中观察:–Visual Studio 2017社区版本15.3.0 – Win 7 x64企业版 – 新build项目> Visual C#> Web> ASP.NET Web应用程序> Web窗体

当我意外地将“Chrome”设置为默认的debugging浏览器时,我遇到了这个问题。 当我把它设置回“IE”时,问题就消失了。 我不知道为什么…


编辑:我正要删除这个答案,因为我不知道这件事,但后来我又遇到了问题。 我切换到Chrome浏览器,然后再回到IE,它停了! 是什么赋予了!?