程序集'System.Web.Extensions'中类型'System.Web.UI.ScriptManager'中的方法'get_EnableCdn'没有实现]

问题描述 投票:43回答:2

任何人都可以解释这样的解析错误:

“程序集'System.Web.Extensions,版本= 3.5.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'中类型'System.Web.UI.ScriptManager'中类型'System.Web.UI.ScriptManager'的方法'get_EnableCdn'没有实现。”

我的开发箱运行Windows 7,Framework 4.0和最新的Ajax工具包。该站点可以在本地以及在测试服务器(Win 2003,Framework 4.0和最新的Ajax工具包)上运行,但是在生产服务器(还是Win 2003)上,情况就不同了。

具有讽刺意味的是,生产服务器上的站点已在几个月前升级到Framework 4.0,并且可以正常工作,直到我尝试通过复制已发布的站点来推送更新。那是我收到此错误的时间。

如果仅将站点的工作副本复制到新目录并创建新的虚拟目录,我也会收到此错误。

重新安装了VS2010,但这没有帮助。

无论如何,很多带有此错误消息的帖子都是关于用户升级到4.0并收到此错误的,这不是我的情况,所以我对此感到迷惑,不胜感激您的输入。

谢谢,

asp.net-ajax
2个回答
84
投票

我已经在从Visual Studio 2005项目升级到Visual Studio 2010项目的Web应用程序中看到此错误。

解决方案是从web.config文件中删除以下部分:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>

-1
投票

如果您实际上使用的是.NET Framework 4.0+,那么就足够了,但是,如果您只是将现有应用程序从Windows Server 2003迁移到Windows Server 2012,则可以更改正在运行新站点的应用程序池从.NET Frawework 4.0到2.0,以及从集成到经典的管道模式。Windows Server 2012上的新站点默认为.NET 4.0并集成[]

© www.soinside.com 2019 - 2024. All rights reserved.