2010-07-14 3 views
4

Моя Visual Studio 2010 Professional начала создавать неправильные файлы дизайнеров при редактировании файлов aspx или ascx. Visual Studio решает использовать System.Web.UI.DataVisualization.Charting пространство имен для все элементы управления в файлах aspx/ascx.Ошибка Visual Studio 2010? Неверное пространство имен в файлах дизайнеров

Пример:

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

заканчивает тем, что это в файле конструктора:

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

Кто-нибудь еще сталкивался с этим?

+1

Вы можете проверить свой web.config? это похоже на то, что, возможно, префикс asp также используется этим пространством имен - если это так, просто измените его на префикс diff –

+0

Да, префикс тега для элементов управления диаграммами также является «asp». Это должно быть хорошо, хотя VS должен быть в состоянии выбрать правильный. У VS 2008 этой проблемы не было. – nordisk

+0

У меня была эта ошибка годами. Проблема с Microsoft Connect - проголосуйте за него: http://connect.microsoft.com/VisualStudio/feedback/details/654640/asp-net-invalid-namespaces-in-designer-files – cbp

ответ

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, что вызвало такое поведение.

Смежные вопросы