«Не удалось переформатировать документ» в ASP.NET, VS2008.
-
09-06-2019 - |
Вопрос
я в Пользовательский элемент управления ASP.NET.Когда я нажимаю Control-K, Control-D, чтобы переформатировать всю разметку, я получаю серию сообщений от VS 2008:
«Не удалось переформатировать документ.Исходный формат был восстановлен».
«Не удалось завершить действие».
"Операция не может быть выполнена.Неверный параметр."
Кто-нибудь знает, что вызывает это?
Редактировать:Хорошо, это просто... странно.
Проблема здесь:
<asp:TableCell>
<asp:Button Text="Cancel" runat="server" ID="lnkCancel" CssClass="CellSingleItem" />
</asp:TableCell>
Каким-то образом эта строка asp:Button вызывает проблему.Но если я удалю какой-либо отдельный атрибут, форматирование сработает.Или, если я добавлю новый атрибут, форматирование будет работать.Или, если я изменю тег на несамозакрывающийся, он сработает.Но если я отменю и оставлю все как есть, это не сработает.
Все, что я могу понять, это то, что это какая-то действительно непонятная и странная ошибка.
Решение
Вероятно, где-то в вашем документе есть неверная разметка.Вы пробовали это на новом документе?
Другие советы
Сегодня обнаружил проблему.
Мое решение:Перезапустите Visual Studio.
Обычно такое поведение вызвано неверным кодом.Причиной может быть только недопустимый HTML, который все равно позволит скомпилировать программу.
Например, если теги не совпадают, IDE не сможет их переформатировать.
<div><h1>My Title</div></h1
Проверьте свои предупреждения, чтобы увидеть, есть ли какие-либо записи, указывающие на несовпадающие или незакрытые теги.
Для меня это обычно проблема с пробелами.Чтобы это исправить, я открываю «Найти и заменить» (CTRL+H), устанавливаю Заглянуть в «Текущий документ», отметьте Использовать и выберите «Регулярные выражения».Для Найти то, что Я ввожу ":b| " (минус кавычки), и для Заменить Я вхожу в одно пространство.Затем я нажимаю Заменить все.
Приведенные выше шаги заменят все пробелы, включая разрывы строк, на один пробел, и при следующем форматировании документа вы не должны получить никаких ошибок.Это предполагает, что у вас нет искаженного HTML.
выделите все сегменты подозрительных кодов и используйте Ctrl+k,Ctrl+F для форматирования только выбранных сегментов, а не всего документа.
Таким образом, вы сможете найти точное место проблем, специально не закрытых или неподходящих закрытых тегов, и исправить их.
после завершения сканирования по сегментам вы можете наверняка отформатировать весь документ
Впервые я столкнулся с этим несколько недель назад.Я обнаружил, что дело в недопустимом HTML.Мне пришлось вырезать части контента и вставлять их обратно понемногу, чтобы выявить проблему.
Лично у меня в коде разметки было несколько фиктивных символов.Я узнал об этом только путем копирования и вставки всего текста в Блокнот.После этого я увидел фальшивые символы (показались в виде маленьких квадратиков).Я просто удалил эти строки и напечатал их заново, и теперь все ок.
Просто чтобы добавить дополнительную информацию.Эта проблема вызвана неправильной разметкой в html
.Это не приведет к блокировке во время работы приложения.
К сожалению, упомянутые здесь решения мне не помогли.1.Перезагрузка Visual Studio 2.Замена пробелов с использованием регулярных выражений и т.д.
Лучшее решение для устранения проблемы — перейти к конкретной строке, в которой возникла проблема, и проверить эту строку на наличие недопустимых символов, таких как ,
или "
.Просто удалите его, и все будет работать нормально.
Моя проблема заключалась в дополнительном "
.Посмотрите внимательно html.