2010-07-14 28 views
4

當編輯aspx或ascx文件時,我的Visual Studio 2010 Professional已經開始產生錯誤的設計器文件。 Visual Studio決定在aspx/ascx文件中爲所有控件使用System.Web.UI.DataVisualization.Charting命名空間。Visual Studio 2010 bug?設計器文件中錯誤的命名空間

例子:

<asp:DropDownList ID="test" runat="server" />

結束了在設計文件中是這樣的:

protected global::System.Web.UI.DataVisualization.Charting.DropDownList test;

有其他人遇到此?

+1

你能檢查你的web.config嗎?這聽起來像也許該名稱空間正在使用asp前綴 - 如果是這種情況,只需將其更改爲diff前綴 – 2010-07-14 06:12:47

+0

是的,製圖控件的標記前綴也是'asp'。這應該沒問題,VS應該能夠選擇正確的。 VS 2008沒有這個問題。 – nordisk 2010-07-14 22:47:29

+0

我有這個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

回答

6

看來,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造成這種行爲的錯誤。

相關問題