我遇到了一个奇怪的问题:我正在尝试将 ASP.NET 4.0 网站迁移到 ASP.NET Web 应用程序。Visual Studio 的“转换为 Web 应用程序”功能实际上工作得很好,但唯一不起作用的是对图表的引用。我收到错误:
命名空间“System.Web.UI.WebControls”中不存在类型或命名空间名称“Chart”
来自 .designer 文件。设计者会自动创建这种类型的代码:
protected global::System.Web.UI.WebControls.Chart ClientHoursPie;
根据我所做的研究,用于图表的正确 4.0 命名空间是 System.Web.UI.DataVisualization.Charting。我在 web.config 中添加了以下组件(从原始网站复制,运行良好):
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
我可以更正设计器文件中的命名空间,但每次保存 aspx 文件时,设计器都会恢复到旧的命名空间。
我希望避免从头开始重建所有单独的页面。有没有我错过的地方?
提前致谢。