3

奇妙な問題が発生しました。ASP.NET 4.0 Web サイトを ASP.NET Web アプリケーションに移行しようとしています。Visual Studio の "Convert to Web Application" 機能は実際には非常にうまく機能しましたが、機能していないのはグラフへの参照だけです。エラーが発生します:

型または名前空間名 'Chart' は名前空間 'System.Web.UI.WebControls' に存在しません

.designer ファイルから。デザイナーは、このタイプのコードを自動的に作成しています。

protected global::System.Web.UI.WebControls.Chart ClientHoursPie;

私が行った調査に基づいて、グラフに使用する適切な 4.0 名前空間は System.Web.UI.DataVisualization.Charting です。web.config に次のコンポーネントを追加しました (元の Web サイトからコピーしたもので、正常に動作していました)。

<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 ファイルを保存するたびに、デザイナーは古い名前空間に戻ります。

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

前もって感謝します。

4

1 に答える 1

1

見逃していたいくつかのエントリを web.config に追加することで、問題を解決できました。この問題が発生した場合は、次の情報を含める必要があります。

<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>

そしてこれ(system.webServerセクション内):

<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>
于 2012-06-01T01:42:39.933 に答える