在ASP.NET,VS2008中“无法重新格式化文档”

时间:2008-09-16 18:11:47

标签: asp.net visual-studio visual-studio-2008 user-controls

我在 ASP.NET UserControl 中。当我键入Control-K,Control-D重新格式化所有标记时,我从VS 2008获得了一系列消息:

“无法重新格式化文档。原始格式​​已恢复。”

“无法完成操作。”

“操作无法完成。参数不正确。”

有人知道是什么原因引起的吗?

编辑:好的,这只是......很奇怪。

问题在于:

<asp:TableCell>
  <asp:Button Text="Cancel" runat="server" ID="lnkCancel" CssClass="CellSingleItem" />
</asp:TableCell>

不知何故asp:Button行导致问题。但是,如果我删除任何单个属性,格式化工作。或者,如果我添加新属性,格式化工作。或者,如果我将标签更改为非自动关闭,则可以正常工作。但如果我撤消并保持原样,它就不起作用。

我能想到的是,这是一种非常模糊,奇怪的错误。

11 个答案:

答案 0 :(得分:8)

您的文档中某处可能存在格式错误的标记。你有没有在新文件上试过它?

答案 1 :(得分:5)

今天遇到了问题。

我的解决方案:重新启动Visual Studio

答案 2 :(得分:2)

通常这种行为是由无效代码引起的。它可能只是无效的HTML导致它仍然允许程序编译。

例如,如果标签不匹配,则IDE无法重新格式化。

<div><h1>My Title</div></h1

检查您的警告,看看是否有任何条目指向不匹配或未关闭的标签。

答案 3 :(得分:2)

选择整个可疑代码段并使用Ctrl + k,Ctrl + F仅格式化选定的段而不是整个文档。

通过这种方式,您可以找到问题的确切位置,特别是未关闭或不合适的封闭标签并修复它们。

完成所有逐段扫描后,您可以格式化整个文档

答案 4 :(得分:2)

对我来说,这通常是空白问题。要修复它,我打开查找和替换(CTRL + H),将查找设置为“当前文档”,选中使用并选择“正则表达式”。对于查找内容,我输入“:b | \ n”(减去引号),对于替换为,我输入一个空格。然后,我点击全部替换

上述步骤将使用单个空格替换所有空格 - 包括换行符,并且下次格式化文档时,不应出现任何错误。假设您没有格式错误的HTML。

答案 5 :(得分:1)

我几周前第一次遇到这个问题。我发现它归结为无效的HTML。我不得不删除部分内容并一次一点地粘贴回来以追踪问题。

答案 6 :(得分:1)

对我来说,我的标记代码中有一些虚假的字符。我只是通过复制并将我的所有文本粘贴到记事本中来找到它。在那之后,我看到了伪造的角色(显示为小方块)。我刚刚删除了这些行并重新输入了它们,现在一切正常。

答案 7 :(得分:1)

所以我有一个不需要的分号

<块引用>

;

在我的 img 标签中。删除后运行正常。 TestOne

答案 8 :(得分:0)

只是添加更多信息。此问题是由html中的某些无效标记引起的。 在运行应用程序时,它不会导致任何阻塞。

不幸的是,这里提到的解决方案对我不起作用。 1.重新启动visual studio 2.使用正则表达式等替换空格

解决问题的最佳解决方案是转到导致问题的特定行,并检查该行是否包含,"等无效符号。只需删除它就可以正常工作。

答案 9 :(得分:0)

我的问题是额外"。仔细看看html。

答案 10 :(得分:0)

我的问题是html属性值中的“多余”,删除此属性后对我来说效果很好。