none
运行库类型转换错误 BuildResultCompiledType, 请大家帮忙! RRS feed

  • 问题

  • 应该是CLR级别的错误, 目前还没有找到比较好的解决方法. 郁闷中......
    找了很多资料都没有. 实在没办法, 看大家能否给予一些帮助. 先谢过!

    该错误发生的情况如下:

    1. 转换.net3.5后才出现.
    2. 不是经常出现, 有时会出现.
    3. 出现后,重启一下IIS或程序集就又正常了.


    ------------------------------------------------------------------------------



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

    无法将类型为“System.Web.Compilation.BuildResultCompiledAssembly”的对象强制转换为类型“System.Web.Compilation.BuildResultCompiledType”。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.InvalidCastException: 无法将类型为“System.Web.Compilation.BuildResultCompiledAssembly”的对象强制转换为类型“System.Web.Compilation.BuildResultCompiledType”。

    源错误:

    执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

    堆栈跟踪:


    [InvalidCastException: 无法将类型为“System.Web.Compilation.BuildResultCompiledAssembly”的对象强制转换为类型“System.Web.Compilation.BuildResultCompiledType”。]
       System.Web.UI.PageParser.GetCompiledPageInstance(VirtualPath virtualPath, String inputFile, HttpContext context) +224
       System.Web.UI.PageParser.GetCompiledPageInstance(String virtualPath, String inputFile, HttpContext context) +121
       Dottext.Web.UI.Handlers.BlogExistingPageHandler.GetHandler(HttpContext context, String requestType, String url, String path) +200
       Dottext.Common.UrlManager.UrlReWriteHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String path) +402
       System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +193
       System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +93
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

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










    事件类型:    警告
    事件来源:    ASP.NET 2.0.50727.0
    事件种类:    Web 事件
    事件 ID:    1309
    日期:        2009-3-24
    事件:        10:31:06
    用户:        N/A
    计算机:    CAS
    描述:

    事件代码: 3005 事件消息: 发生了未处理的异常。 事件时间: 2009-3-24 10:31:06 事件时间(UTC): 2009-3-24 2:31:06 事件 ID: 976a1dc7747b41cc84d29e83444d5a53 事件序列: 179 事件匹配项: 1

    事件详细信息代码: 0
     应用程序信息:
        
    应用程序域: /LM/W3SVC/295787068/Root-1-128823349240158750
        
    信任级别: Full
        
    应用程序虚拟路径: /
        
    应用程序路径: D:\yiqifei\I.yiqifei.com2.0\
        
    计算机名: CAS
     进程信息:
        
    进程 ID: 4400
        
    进程名: w3wp.exe
        
    帐户名: NT AUTHORITY\NETWORK SERVICE
     异常信息:
        
    异常类型: InvalidCastException
        
    异常消息: 无法将类型为“System.Web.Compilation.BuildResultCompiledAssembly”的对象强制转换为类型“System.Web.Compilation.BuildResultCompiledType”。
     
    请求信息:
        请求 URL: http://i.yiqifei.com/sam/admin/Options.aspx
        
    请求路径: /sam/admin/Options.aspx
        
    用户主机地址: 203.88.219.93
        
    用户: sam
        
    是否已经过身份验证: True
        
    身份验证类型: Forms
        
    线程帐户名: NT AUTHORITY\NETWORK SERVICE
     线程信息:
        
    线程 ID: 6
        
    线程帐户名: NT AUTHORITY\NETWORK SERVICE
        
    是否正在模拟: False
        
    堆栈跟踪:    在 System.Web.UI.PageParser.GetCompiledPageInstance(VirtualPath virtualPath, String inputFile, HttpContext context)
       在 System.Web.UI.PageParser.GetCompiledPageInstance(String virtualPath, String inputFile, HttpContext context)
       在 Dottext.Web.UI.Handlers.BlogExistingPageHandler.GetHandler(HttpContext context, String requestType, String url, String path)
       在 Dottext.Common.UrlManager.UrlReWriteHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String path)
       在 System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
       在 System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

     
     
    自定义事件详细信息:

    有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

    • 已编辑 Sam Shum 2009年3月30日 2:15
    2009年3月25日 3:29

答案

  • 终于找到问题的原因了, 在不同的程序集中有以前1.1版本的.net引用存在引起的,  不过很奇怪的是, 编译又可以通过, 而且运行正常, 只是在某一是时间才会出错.

    • 已标记为答案 Sam Shum 2009年4月1日 15:02
    2009年4月1日 15:01

全部回复

  • 好像是编译的时候出的问题,你可以试试将你的网站全部编译一下再发布出去看看。
    孟宪会
    2009年3月25日 4:49
    版主
  • 已经试过了全部重新编译, 还是不行.
    2009年3月25日 5:08
  • 还是找不到答案 !
    2009年3月27日 11:40
  • 你用Reflector看看调用栈最底层的GetCompiledPageInstance函数吧,看看1.x和3.5是不是有什么不同。你用的是dotText对吧?为什么要将1.x项目升级到3.5呢?1.x的项目和2.0之后的并不兼容啊。
    2009年3月27日 15:35
    版主
  • 对.是DotText的系统, 升级到2.0的兼容早已解决, 因为要用到3.5的webservice功能, 才升级到3.5, 现在已经降加2.0的运行模式, 还是会出现这个问题.
    这个错误是这些天才出现这个问题. 之前都没有. 重新设置了IIS的设置, 正在监控中, 不知是不是IIS6.0的问题.
    2009年3月28日 6:19
  • 不知会不会是IIS设置的问题, 现在调整了进程池的设置, 这几天都没有这个问题, 还在监测中, 还不确定, 希望给同样遇到这个问题的朋友会有帮助!
    与.net的版本没有关系.

    2009年3月30日 2:12
  • 终于找到问题的原因了, 在不同的程序集中有以前1.1版本的.net引用存在引起的,  不过很奇怪的是, 编译又可以通过, 而且运行正常, 只是在某一是时间才会出错.

    • 已标记为答案 Sam Shum 2009年4月1日 15:02
    2009年4月1日 15:01