Visual studio 2012 Visual Studio无法从global.asax加载类型
我知道以前有人提出过这个问题,但可用的解决方案并没有解决我的问题 在我的解决方案中,我有一个global.asax文件,我没有编写它。cs文件中的命名空间和类与继承命名空间和类匹配 导致问题的原因很简单:我从解决方案中排除了一个目录,然后重新包含它。此后,当我尝试构建解决方案时,出现以下错误:Visual studio 2012 Visual Studio无法从global.asax加载类型,visual-studio-2012,Visual Studio 2012,我知道以前有人提出过这个问题,但可用的解决方案并没有解决我的问题 在我的解决方案中,我有一个global.asax文件,我没有编写它。cs文件中的命名空间和类与继承命名空间和类匹配 导致问题的原因很简单:我从解决方案中排除了一个目录,然后重新包含它。此后,当我尝试构建解决方案时,出现以下错误: Server Error in '/' Application. Parser Error Description: An error occurred during the parsing of a
Server Error in '/' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'EnableWebApp.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="EnableWebApp.Global" Language="C#" %>
Source File: /global.asax Line: 1
“/”应用程序中出现服务器错误。
分析器错误
描述:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息,并适当修改源文件。
分析器错误消息:无法加载类型“EnableWebApp.Global”。
源错误:
第1行:
源文件:/global.asax行:1
我已经清理、重建、重新安装了这些文件,重新启动了框架,并重新启动了系统。什么也没有解决
Global.asax
“”
Global.asax.cs
命名空间支持WebApp
{
公共类全局:System.Web.HttpApplication
{右键单击Web项目,转到属性,检查程序集名称和根命名空间是否为“EnableWebApp”global.asax实际上有两个附加文件,一个标记和一个代码隐藏。
如果右键单击该文件,您可以选择查看标记,我猜该行中的某个位置存在名称空间或名称不匹配。
如果没有,您能否发布您的global.asax.cs和标记(应仅为1个文件)?
编辑:
我无法立即解释您为什么会得到这个结果。
您是否可以使用dll reflector程序扫描您网站的dll,查找全局类型及其命名空间,以验证是否正确构建到dll中?
你可以使用这个程序:我在过去的两天里一直在与这个错误作斗争。这是我的场景,也是我如何解决它的。(我用VB编写代码..没有你们大多数人那么先进。) 1) 我将web代码文件夹添加到我的项目中 2) 我创建了一个动态数据实体,该实体创建了model1.vb文件,其中包含公共类ceptenties 3) 我根据找到的指令设置Global.asax文件路由。 DefaultModel.RegisterContext(GetType(CepSenties),带有{.ScaffoldAllTables=True}的新ContextConfiguration() 3a)Cepsentities是我的数据实体模型的名称。然后我在web.config文件中验证了连接字符串是否正确 4) 然后,我打开modle1.vb文件的属性,并将构建操作从内容(默认也是内容)更改为编译 5) 然后a进行了清理和重建,我的应用程序最终在IE中打开
希望这能帮其他人省去很多麻烦。如果有人有这个问题,有两个简单的解决方法:
- 删除Global.asax并通过Visual Studio的add->new Item功能添加一个新的,它将添加正确的名称空间/类型组合
- 确保
部分与项目的命名空间以及Inherits
类型完全匹配。右键单击项目属性以检查命名空间。因此,如果应用程序的命名空间是Global
,则应在此处设置MyProject.Web
Inherits=“MyProject.Web.Global”
static int Main(string[] args)
{
int result = 0;
try
{
ServerManager serverManager = new ServerManager();
var myApp = serverManager.Sites["Default Web Site"].Applications["/myApp"].VirtualDirectories[0];
myApp.PhysicalPath = args[0];
serverManager.CommitChanges();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
result = -1;
}
return result;
}
程序集名称为EnableWebApp。这些文件中没有任何更改导致此错误。您的全局文件中是否有任何代码,或者它只是文件本身?从技术上讲,您不需要它。如果您有代码,可以将其备份到某个位置,删除该文件,然后尝试运行您的项目。如果它在没有全局文件的情况下运行,请添加一个新的通过VisualStudio并再次粘贴到代码中。