看來,Visual Studio無法根據註冊的控件選擇正確的名稱空間。
我已通過將圖表註冊移動到列表頂部來解決此問題。這導致設計器文件再次正確生成。 asp:Chart控件的命名空間也是正確的。
所以在web.config我的控制部分已經從這個了:
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
</pages>
這樣:
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
</pages>
我仍然認爲有一個在VS造成這種行爲的錯誤。
你能檢查你的web.config嗎?這聽起來像也許該名稱空間正在使用asp前綴 - 如果是這種情況,只需將其更改爲diff前綴 – 2010-07-14 06:12:47
是的,製圖控件的標記前綴也是'asp'。這應該沒問題,VS應該能夠選擇正確的。 VS 2008沒有這個問題。 – nordisk 2010-07-14 22:47:29
我有這個bug多年。以下是Microsoft Connect問題 - 請爲此投票:http://connect.microsoft.com/VisualStudio/feedback/details/654640/asp-net-invalid-namespaces-in-designer-files – cbp 2011-11-14 06:42:30