Элемент 'X' не является известным элементом - веб-приложение - PullRequest
4 голосов
/ 23 августа 2010

Я преобразовал веб-сайт форм в приложение, и до сих пор все работало нормально.Я продолжаю получать зеленые волнистые линии и ошибку, что Элемент 'X' не является известным элементом.Это почти на каждом элементе: Gridview, Метке, Панели обновления, Гиперссылке, Связанном поле и т. Д.префиксы.Очень странно, что это происходит только на нескольких пользовательских элементах управления, все остальные элементы управления в порядке, и ошибки никогда не отображаются.Я попытался перезагрузить и все, и ничего, кажется, это исправить.Все мастер-страницы, веб-страницы и около 90% пользовательских элементов управления в порядке, это только на нескольких пользовательских элементах управления и очень раздражает!

Ответы [ 4 ]

6 голосов
/ 25 августа 2010

Если элемент compilation в вашем файле web.config имеет атрибут targetFramework="4.0", я не думаю, что ссылки на сборку System.Web.Extensions больше требуются. Если вы посмотрите на файл web.config корневого уровня по адресу %WINDIR%\Microsoft.NET\Framework\v4.0.30319\Config, вы заметите, что следующие строки уже находятся в разделе <controls> файла web.config:

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls.Expressions" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

Сборка System.Web.Extensions также указана в разделе <compilation><assemblies>

.
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

и следующие <httpHandlers> также добавляются

<add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
<add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />

Кроме того, следующие <httpModules> зарегистрированы по умолчанию

<add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

Короче говоря, ваш файл web.config, вероятно, не должен содержать никаких ссылок на сборку System.Web.Extensions, поскольку на него уже есть ссылки практически всеми возможными способами в файле web.config корневого уровня.

Дополнительные ссылки: Как: обновить веб-приложение ASP.NET до ASP.NET 4

1 голос
/ 30 марта 2015

Я столкнулся с той же ошибкой, и оказалось, что она чувствительна к регистру с атрибутом CodeBehind в объявлении элемента управления в первой строке.

Ниже приводилась проблема

<%@ Control Language="C#" AutoEventWireup="true" Inherits="ContactListControl" Codebehind="ContactListControl.ascx.cs" %>

В основном ее изменение- решить проблему

<%@ Control Language="C#" AutoEventWireup="true" Inherits="ContactListControl" CodeBehind="ContactListControl.ascx.cs" %>

Я предлагаю использовать функцию автоматического форматирования Visual Studio (сочетание клавиш ctrl + k + d), она позаботится о таких проблемах с капитализацией / форматированием.

1 голос
/ 23 августа 2010

Я думаю, что это ошибка в Visual Studio.Когда я столкнулся с этим, я попытался бы выделить все на странице aspx, вырезать, а затем вставить его обратно туда, где он был.Затем элементы управления должны быть добавлены в файл конструктора.Если это не сработает, удалите файл конструктора и попробуйте снова преобразовать его в веб-приложение.Удачи!Я также хотел бы знать, есть ли лучшее решение.

0 голосов
/ 02 октября 2014

У меня была точно такая же проблема, и я пробовал все, пока не удалил файл suo, затем проблема исчезла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...