2010-07-14 24 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造成这种行为的错误。

相关问题