我最近安装了 VS2012 并从事我过去使用 VS2010 的工作项目。我从来没有遇到过 VS2010 不识别 asp 前缀标签的问题,但 VS2012 是。我尝试删除ReflectedSchemas
下的文件夹
C:\Users[用户名]\AppData\Roaming\Microsoft\VisualStudio\11.0\
但仍然无法正常工作。有人在 VS2012 中遇到过这个问题吗?
我最近安装了 VS2012 并从事我过去使用 VS2010 的工作项目。我从来没有遇到过 VS2010 不识别 asp 前缀标签的问题,但 VS2012 是。我尝试删除ReflectedSchemas
下的文件夹
C:\Users[用户名]\AppData\Roaming\Microsoft\VisualStudio\11.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 可能会使用它来识别元素,当我把它放回去时一切正常
<!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>
只需从页面中剪切页面指令行就可以保存它。将页面指令行粘贴回来并再次保存。这对我有用。我正在使用vs2019 ..
只需关闭解决方案并重新打开它对我有用(或关闭 Visual Studio 并重新打开它)。
对我来说,这个错误是在我在发布过程中遇到错误之后开始发生的(我也将它设置为编译 .aspx 页面)。请注意,双击错误不会加载您的解决方案源代码,而是在obj
子文件夹中加载一个副本。即检查您是否已打开实际源代码。
是的,这是一个脑残的错误。是的,我只花了 10 分钟调试它。
通过将 .Net 版本(在项目属性中)从 4.5 更改回 3.5,我设法摆脱了这些错误。然后我将它改回 4.5 并且错误没有返回。
您可以尝试在您的 aspx 页面标签中编写母版页
喜欢:
MasterPageFile="~/Master.Master"
很抱歉之前没有回答这个问题。虽然我假设 VS2012 服务包或更新为我解决了这个问题。
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
在内容页面绑定到母版页的一行之后,将其添加到 ASP 页面的顶部。希望你的问题能得到解决。它对我有用。
当前: Flippertech 的 ASP 开发人员
就我而言,现有的解决方案都没有奏效,但其中一个敲响了警钟。我在 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,以便正确解析您的页面。这只是一个理论,但无论如何它都有效,所以我希望这个解决方案也适用于其他人。
如果此错误出现在那些继承母版页的页面上,那么一个可能的原因是 !DOCTYPE 标记,您可能在页面的某处使用了该标记来将 !DOCTYPE 声明为 html。由于 asp 是 asp.net 前缀标记而不是 html,因此会发生此错误。
我在 asp.net 4 网站上遇到了这个问题。添加 3.5 兼容性修复了它。
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>