我最近安装了 VS2012 并正在处理以前使用 VS2010 处理的工作项目。我从来没有遇到过 VS2010 无法识别 asp 前缀标签的问题,但 VS2012 可以。我尝试删除
下的
ReflectedSchemas
文件夹
C:\Users[用户名]\AppData\Roaming\Microsoft\VisualStudio .0\
但仍然不起作用。有人在 VS2012 中遇到过这个问题吗?
你的 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" />
</controls>
</pages>
在这种情况下,删除 asp tagPrefix 的条目(如果没有留下其他 tagPrefix,则删除整个部分)。这对我有用。
如果您在内容页面中遇到“VS2012 中无法识别的标记前缀‘asp’”问题,
检查您要添加内容页面的母版页是否缺少
标签!**<body>** or <form>
如果万一缺少此标签,则无法识别此
<asp>
标签。
对于使用 .Net 4.0 的项目设置,可以使用以下几行代码。
<pages>
<controls>
<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.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
</pages>
RuudvanFalier 的回答让我考虑了 tagPrefixes,因此我在我的 aspx 页面中删除了以下内容,然后将其添加回来,警告就消失了。
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Page Title="" Language="VB" MasterPageFile="something" AutoEventWireup="false" CodeFile="something" Inherits="something" %>
<br/><br/>
请在第一行后输入“回车”。它对我有用
我通过将 .Net 版本(在项目属性中)从 4.5 更改回 3.5 成功消除了这些错误。然后我将其改回 4.5,错误没有返回。
因不小心而造成
我的问题已解决
我删除了下面的结构,
.net 可能会使用它来识别元素,当我把它放回去时一切正常
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
只需关闭解决方案并重新打开它对我有用(或关闭 Visual Studio 并重新打开它)。
只需从页面中剪切页面指令行即可将其保存。将页面指令行粘贴回来并再次保存。这对我有用。我用的是vs2019..
对我来说,这个错误是在我在发布过程中遇到错误之后开始发生的(我也将其设置为编译 .aspx 页面)。请注意,双击错误不会加载解决方案源代码,而是加载
obj
子文件夹中的副本。即检查您是否已打开实际源代码。
是的,这是一个脑死亡的错误。是的,我只花了10分钟调试它。
你可以尝试在你的aspx页面标签中编写母版页
喜欢:
MasterPageFile="~/Master.Master"
抱歉之前没有回答这个问题。虽然我假设 VS2012 服务包或更新为我解决了这个问题。
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
将其添加到 ASP 页面顶部的内容页绑定到母版页的一行之后。希望您的问题能够得到解决。这对我有用。
现任:Flippertech ASP 开发人员
如果此错误出现在继承母版页的页面上,则一个可能的原因是 !DOCTYPE 标记,您可能在页面中的某处使用该标记将 !DOCTYPE 声明为 html。由于 asp 是 asp.net 前缀标记而不是 html,因此会发生此错误。
我在 ASP.NET 4 网站上遇到了这个问题。添加 3.5 兼容性修复了它。
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
就我而言,现有的解决方案都不起作用,但其中一个解决方案敲响了警钟。我在 VS2017 解决方案的 MasterPage 中添加了一些标签(以包括一些 JavaScript 和 CSS 文件引用),如下所示:
<asp:ContentPlaceHolder ID="Content1" runat="server">
<script type="text/javascript" src="behavior.js"></script>
</asp:ContentPlaceHolder>
我删除了那些脚本标签,错误就消失了。但奇怪的是,我还有其他页面也继承自同一个 MasterPage,但那里不存在错误。但是,错误出现在我在将脚本添加到 MasterPage 后中创建的这个特定页面上。我的想法是避免在从 MasterPage 继承的每个页面上添加相同的脚本,因此我将这些脚本再次添加回 MasterPage,只是为了检查......并且错误没有再次出现。 我的理论是,Visual Studio 中的某些内部文件被损坏,如果您向母版页添加一些脚本或任何内容,然后将其删除,或者您只是修改母版页以保存更改,这些更改会重写一些内部文件在 Visual Studio 中,它用于解析 ASP 和 HTML 内容。换句话说,这就像“刷新”IDE,以便它正确解析您的页面。这只是一个理论,但无论如何它都有效,所以我希望这个解决方案也适用于其他人。