无法将“ASP.masterpage_master”类型的对象转换为“SBHMasterPage”类型?

时间:2009-09-16 04:07:11

标签: asp.net

  

我试过这个如何修复它?

'/'应用程序中的服务器错误。

无法将“ASP.masterpage_master”类型的对象强制转换为“SBHMasterPage”。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidCastException:无法将“ASP.masterpage_master”类型的对象强制转换为“SBHMasterPage”。

来源错误:

生成此未处理异常的源代码只能在调试模式下编译时显示。要启用此功能,请按照以下步骤之一,然后请求网址:

  1. 在生成错误的文件顶部添加“Debug = true”指令。例如:
  2.   

    或:

    2)将以下部分添加到应用程序的配置文件中:

                   

    请注意,第二种技术将导致给定应用程序中的所有文件都以调试模式进行编译。第一种技术只会导致在调试模式下编译该特定文件。

    重要:在调试模式下运行应用程序会产生内存/性能开销。在部署到生产方案之前,应确保应用程序已禁用调试。

    堆栈追踪:

    [InvalidCastException:无法将“ASP.masterpage_master”类型的对象强制转换为“SBHMasterPage”。]    SBHSetTitle.Page_Load(Object o,EventArgs e)+65    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)+14    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)+35    System.Web.UI.Control.OnLoad(EventArgs e)+99    System.Web.UI.Control.LoadRecursive()+50    System.Web.UI.Control.LoadRecursive()+ 141    System.Web.UI.Control.LoadRecursive()+ 141    System.Web.UI.Control.LoadRecursive()+ 141    System.Web.UI.Control.LoadRecursive()+ 141    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+627


    版本信息:Microsoft .NET Framework版本:2.0.50727.3082; ASP.NET版本:2.0.50727.3082

2 个答案:

答案 0 :(得分:0)

尝试设置

<compilation debug="true" batch="false" >
你的web.config中的

。它对我有用。

答案 1 :(得分:0)

似乎有一个难以确定的随机错误,但是确实有一个未发布的修补程序,您需要调用该修补程序才能获取。

请参见Unable to cast object of type 'ASP.masterpage_master' to type 'ASP.masterpage_master'.

遗憾的是,该链接不再有效。典型的微软。

ASP.net上有一个页面,上面进行了很好的讨论(已有10多年的历史了),并提供许多解决方案供您尝试:

https://forums.asp.net/t/954194.aspx

最有前途的解决方案似乎是在您的web.config文件中添加 batch =“ false” ,如下所示:

<compilation batch="false" debug="false"/>

这样做会减慢Visual Studio的编译时间。

我已经在ASP.NET论坛上提交了类似的问题,该问题已经引起了一定的关注,但是没有解决方案。

https://forums.asp.net/t/2172428.aspx