我在 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行导致问题。但是,如果我删除任何单个属性,格式化工作。或者,如果我添加新属性,格式化工作。或者,如果我将标签更改为非自动关闭,则可以正常工作。但如果我撤消并保持原样,它就不起作用。
我能想到的是,这是一种非常模糊,奇怪的错误。
答案 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 标签中。删除后运行正常。
答案 8 :(得分:0)
只是添加更多信息。此问题是由html
中的某些无效标记引起的。
在运行应用程序时,它不会导致任何阻塞。
不幸的是,这里提到的解决方案对我不起作用。 1.重新启动visual studio 2.使用正则表达式等替换空格
解决问题的最佳解决方案是转到导致问题的特定行,并检查该行是否包含,
或"
等无效符号。只需删除它就可以正常工作。
答案 9 :(得分:0)
我的问题是额外"
。仔细看看html。
答案 10 :(得分:0)
我的问题是html属性值中的“多余”,删除此属性后对我来说效果很好。