【发布时间】:2013-08-30 17:10:34
【问题描述】:
我正在与另一个使用 C#、.NET 3.5 的开发人员一起开发一个项目。我们遇到了代码在我的机器上运行的问题,但是当它在他的机器上运行时,我们收到以下错误:
描述:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当修改您的源文件。
解析器错误消息:无法加载类型“._Default”。
来自 Default.aspx 的实际标头如下所示:
<%@ Page Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="<myApplication>._Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
到目前为止,我们已经尝试了以下方法:
- 撤消他所做的任何更改,以便拥有最新的服务器版本
- 清除浏览器缓存
- 重置 IIS
当这不起作用时,我们甚至从他的本地计算机中删除了他的网站版本,并直接从 TFS 重新加载。那也没用……
这个问题只发生在昨天下午晚些时候 - 在它正常工作之前。他做了一些更改,但没有任何原因导致这种情况发生,特别是考虑到他拥有 TFS 的最新版本(在我的机器上运行),那么我无法理解它是如何不工作的。
另一件事是,如果我们从他的机器上将它发布到网站上,那么它就可以工作,所以它肯定暗示了他的问题,但我不知道它可能是什么。
【问题讨论】:
-
你试过用`CodeFile="Default.aspx.cs"`代替
CodeBehind="Default.aspx.cs"吗? -
<myApplication>不是有效的命名空间标识符,它必须是代码隐藏文件中的命名空间名称,class _Default : Page所在的位置 -
嗨,抱歉,
只是我在这篇文章中使用的占位符 - 真实文件中有项目名称,但我的公司不允许我们在询问这些类型时输入真实项目名称问题:) -
检查你的
Default.aspx.cs,有类似namespace myApplication { class _Default : Page { /**/ } }的东西,你需要像myApplication._Default这样连接这些标识符——如果你没有命名空间,使用一个,或者ASP.NET默认值它到ASP- 你也可以尝试清理\Windows\Microsoft.NET\Framework\v4...\Temporary ASP.NET Files文件夹 - 我知道的所有版本都不会自动或可靠