2012-05-07 19 views
3

奇妙な問題が発生しました。ASP.NET 4.0 WebサイトをASP.NET Webアプリケーションに移行しようとしています。 Visual Studioの「Webアプリケーションに変換」機能は実際にはうまく機能しましたが、機能していないのはチャートへの参照だけです。エラーが表示されます。「System.Web.UI.WebControls」が存在しないデザイナーが存在します。

The type or namespace name 'Chart' does not exist in the namespace 'System.Web.UI.WebControls'

.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ファイルが保存されるたびに修正することができ、デザイナーは古い名前空間に戻ります。

個々のページをすべてゼロから再構築する必要はありません。どこかで私が見逃した設定がありますか?

ありがとうございます。

+0

あなたがあなた自身の質問に答えておりますので、あなたの答えを投稿し、それをマークすることができます答えとして? –

答えて

1

私が逃したweb.configにいくつかのエントリを追加することで、この問題を解決できました。 (system.webServerセクション)

<pages> 
    <controls> 
     <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
    </controls> 
</pages> 

そして、これを::この問題が発生して誰もがあなたが含まことを確認する必要が

<handlers> 
    <remove name="ChartImageHandler"/> 
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
</handlers> 
関連する問題