【问题标题】:ASP.net: [A]ASP.loggedin_master cannot be cast to [B]ASP.loggedin_master. Type A originates from 'App_WebASP.net:[A]ASP.loggedin_master 不能转换为 [B]ASP.loggedin_master。 A 型源自 'App_Web
【发布时间】:2011-12-28 22:16:03
【问题描述】:

ASP.net 给出了这个奇怪的错误信息。尝试加载使用名为“loggedin.master”的母版页的页面时会出现此问题。

完整的错误信息如下:

[A]ASP.loggedin_master cannot be cast to [B]ASP.loggedin_master.     
Type A originates from     'App_Web_10awacsi, Version=0.0.0.0, Culture=neutral,     
PublicKeyToken=null' in the context     'Default' at location     
'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET     
Files\root\7341db4f\e195a424\App_Web_10awacsi.dll'. Type B originates from   
'App_Web_adrfukya, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' in the 
context 'Default' at location       
'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET 
Files\root\7341db4f\e195a424\App_Web_adrfukya.dll'.

如果我在 Visual Studio 中保存打开内容 aspx 文件并重新保存,错误就会消失,但稍后会再次出现。我猜保存会强制重新编译以修复错误。

我尝试在错误发生时将内容页面置于调试模式。
但是,重新保存可以解决问题,并且由于页面一直处于调试模式,因此问题不再发生 - 所以我无法获得错误的特定行号。
无论如何,我的猜测是它在尝试合并母版页和内容页时出错 - 所以我怀疑无论如何我会得到一个行号。

发生错误时,使用相同母版页的其他一些内容页面仍然可以正常工作。

有什么想法吗?

在 Windows Server 2008 上使用 VB 的 ASP.net 版本 4

【问题讨论】:

    标签: asp.net vb.net casting master-pages


    【解决方案1】:

    尝试设置

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

    在您的 web.config 中。它对我有用。

    【讨论】:

    • 在调试模式下运行应用程序似乎可以解决问题。但是,由于性能受到影响,建议不要将其用于生产环境。
    【解决方案2】:

    如果在重建后发生这种情况,请尝试在页面上声明 Debug="true" 浏览受影响的页面一次。

    然后,此页面以及所有其他以前受影响的页面应该可以正确加载。然后删除Debug = true。

    我还没有知道为什么会这样。

    【讨论】:

      【解决方案3】:

      将此作为解决方案发布给任何在 10 年前首次提到的偶然发现此问题的人:在 Internet 信息服务 (IIS) 管理器中:停止然后启动 IIS 服务器(而不是单个网站)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-07
        • 1970-01-01
        • 2020-07-08
        • 1970-01-01
        相关资源
        最近更新 更多