猿问

“无法加载类型[名称空间] .Global”使我感到悲伤

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


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

但是,当我构建时,出现错误提示:


无法加载类型'MyNamespace.Global'。


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


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


注意2:使用csc从vs提示符下编译时,编译正常


慕雪6442864
浏览 764回答 3
3回答

慕盖茨4494581

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

泛舟湖上清波郎朗

这是另一本书。当您从同一端口号启动多个Web应用程序时,似乎会发生这种情况。基本上,我有两个分支需要工作,有一个主分支,一个暂存分支和一个发布分支。当我将分支切换到暂存分支时,我注意到它正在使用相同的端口地址配置,因此我选择对其进行更改。然后,我收到另一个警告,该保留与另一个已配置的应用程序冲突。IIS Express服务器对此很敏感,无论出于何种原因,它都会对配置产生影响。通过简单地选择第三个未受影响的端口,此问题就消失了,因为它随后将端口映射到了新的目录映射(我的分支在磁盘上的位置不同)。我注意到了这一点,因为我试图更改指向的类型名称,Global.asax但是即使在重新启动服务器后,类型名称也没有改变,所以很明显,IIS Express部署并未反映出我正在更改的代码。因此,在您为此失去太多睡眠之前,请尝试更改当前用于运行Web项目的IIS端口号。
随时随地看视频慕课网APP
我要回答