简体   繁体   English

Visual Studio 2010错误?设计器文件中的命名空间错误

[英]Visual Studio 2010 bug? Wrong namespace in designer files

My Visual Studio 2010 Professional has started to produce incorrect designer files when editing aspx or ascx files. 编辑aspx或ascx文件时,我的Visual Studio 2010 Professional已经开始生成错误的设计器文件。 Visual Studio decides to use the System.Web.UI.DataVisualization.Charting namespace for all controls in the aspx/ascx files. Visual Studio决定对aspx / ascx文件中的所有控件使用System.Web.UI.DataVisualization.Charting命名空间。

Example: 例:

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

ends up being this in the designer file: 最终成为设计器文件中的这个:

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

Has anyone else experienced this? 还有其他人经历过这个吗?

It appears that Visual Studio is unable to pick the correct namespace based on the registered controls. 看来Visual Studio无法根据已注册的控件选择正确的命名空间。

I have resolved this issue by moving the charting registration to the top of the list. 我通过将图表注册移动到列表顶部来解决此问题。 This result in the designer files being generated correctly again. 这导致设计器文件再次正确生成。 The namespace for asp:Chart controls is correct too. asp:Chart控件的命名空间也是正确的。

So my controls section in the web.config has gone from this: 所以我在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>

to this: 对此:

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

I still think there's a bug in VS that caused this behaviour. 我仍然认为VS中存在导致此行为的错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM