Mschat控件示例升级错误处理方法

将具有 3.5 版图表控件的 ASP.NET 3.5 网站升级到 ASP.NET 4 需要更改 web.config 和注册指令

将具有 3.5 版图表控件的 ASP.NET 3.5 网站升级到 ASP.NET 4 将导致在生成时出现以下错误:

错误 1 类型System.Web.UI.DataVisualization.Charting.Chart”同时存在于“c:\Windows\assembly\GAC_MSIL\System.Web.DataVisualization\3.5.0.0__31bf3856ad364e35\System.Web.DataVisualization.dll”和“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.DataVisualization.dll”中的 C:\Websites\Vs2008Sp1_Website_35_Cs_WithChart\Default.aspx 15

解决此问题的方法:

升级后,必须将 web.config 中仍指向 3.5 版图表控件的引用更新为引用版本 4。

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">lt;controls>

<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</controls>

</pages>

<httpHandlers>

<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>

</httpHandlers>

......

<system.webServer>

<validation validateIntegratedModeConfiguration="false"/>

<handlers>

<remove name="ChartImageHandler"/>

<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</handlers>

</system.webServer>

......

必须删除 Web 窗体页中的注册指令或将其更新为引用版本 4。

<%@ Register assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI.DataVisualization.Charting" tagprefix="asp" %>

可能必须删除 bin 文件夹中的现有 System.Web.DataVisualization 程序集,因为此程序集是 .NET Framework 4 的一部分。

posted @ 2013-06-20 16:40  ``炯``  阅读(1268)  评论(0编辑  收藏  举报