c# - Global.asax 在小改动后解析错误并恢复到以前的版本

标签 c# asp.net .net global-asax parse-error

上下文中的项目是:

  • ASP .NET 网络应用程序
  • .NET 框架:4
  • 平台目标:x86
  • IDE:Visual Studio 2010 Ultimate SP1
  • 以 ASP .NET 作为启动项目的解决方案中的多个项目。

直到昨天,它已经投入生产几个月没有出现故障。我清理了 [Global.asax]文件(删除未使用的 using 语句、重构等),运行解决方案并得到以下错误:

描述:解析服务此请求所需的资源时发生错误。请查看以下具体的解析错误详细信息并适当修改您的源文件。
解析器错误消息:无法加载类型“CloudTech.ATS.WebClient.Global”。
源文件:/global.asax 行: 1
源错误:第 1 行:<%@ Application CodeBehind="Global.asax.cs" Inherits="CloudTech.ATS.WebClient.Global" Language="C#" %>

Error snapshot

这是 Global.asax 标记

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

这是Global.asax.cs 代码(删除了内部代码):

using System;
using System.Linq;

namespace CloudTech.ATS.WebClient
{
    public class Global: System.Web.HttpApplication
    {
    }
}

在与这个错误搏斗了一段时间后,我搜索,重新启动我的电脑,对解决方案进行了全面清理,强制重建但无济于事。沮丧的是,我最终只将 Web 应用程序目标更改为“任何 CPU”并且它起作用了。不幸的是,“任何 CPU”不是解决当前问题的选项或解决方案。将其改回“x86”会返回相同的错误。这种情况发生过一次,从那以后,目标平台或调试/发布配置的组合不再有效(同样的错误)。

此外:

  • 我的开发机器都是 x64。
  • checkin 解决方案,让多位同事在他们的机器(x86 和 x64)上进行测试,结果相同。
  • 将整个项目恢复到 3 天前的干净状态,但错误仍然存​​在!
  • 已验证绝对没有对 Web.config 文件或解决方案中与此相关的任何其他文件进行任何更改。

最后,对我的开发系统的唯一更改是 Windows 更新(常规安全更新),我在没有更新的系统上尝试了该解决方案,结果相同。

如有任何帮助,我们将不胜感激。

最佳答案

清理解决方案并删除程序集对后续构建没有影响。我的解决方案是将 Web 应用程序的项目设置中的输出路径更改为 Bin(而不是 bin/x86/Debug)。

来源:- "Could not load type [Namespace].Global" causing me grief

关于c# - Global.asax 在小改动后解析错误并恢复到以前的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621069/

相关文章:

c# - 按流血/引用/值(value)编码?

asp.net - 以编程方式在ie7中打开一个新选项卡

asp.net - 动态地将用户控件添加到转发器

c# - 执行标量错误

c# - 尽管使用 Filter 选项,SaveFileDialog 不显示任何可能的扩展名

c# - 如何在C#(3.5框架)中编码和解码Base128字符串

asp.net - VS2010 和 CSS : What is the best strategy to individually position form controls

c# - Request.Url.Query 和 Request.QueryString 有什么区别?

.net - 如何指定MessageBodyMember是必需的?

c# - 从 Obj C 到 C# 的转换