上下文中的项目是:
- 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#" %>
这是 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/