VS2012中无法识别的标记前缀或设备过滤器“asp”

时间:2012-10-09 23:03:20

标签: asp.net visual-studio-2012 intellisense

我最近安装了VS2012并开始处理我曾经使用VS2010的工作项目。我从来没有遇到VS2010没有识别asp前缀标签的问题,但VS2012是。我尝试删除

下的ReflectedSchemas文件夹
  

C:\用户[用户名] \应用程序数据\漫游\微软\ VisualStudio的\ 11.0 \

但仍无效。有没有人在VS2012中遇到过这个问题?

17 个答案:

答案 0 :(得分:23)

你碰巧在你的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的条目(如果没有剩下其他tagPrefixes,则删除整个部分)。这对我有用。

答案 1 :(得分:13)

从解决方案资源管理器中关闭并重新打开文件(.aspx文件而不是解决方案)在visual studio 2015中为我工作。在尝试其他任何事情之前,您可以尝试一下。

enter image description here

答案 2 :(得分:12)

If you are having this "Unrecognised tag prefix 'asp' in VS2012" problem in a Content Page,

Check whether the Master page, under which you are adding the content page is missing the **<body>** or <form> Tag!

If it is missing this tag by any chance, then this <asp> tag is not recognized.

答案 3 :(得分:8)

对于使用.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>

答案 4 :(得分:3)

RuudvanFalier的回答让我想到了标签前缀,所以我在我的aspx页面中删除了以下内容,然后将其添加回来,警告就消失了。

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

答案 5 :(得分:3)

简单地关闭解决方案并重新打开它对我有用(或关闭Visual Studio并重新打开它)。

答案 6 :(得分:3)

<%@ Page Title="" Language="VB" MasterPageFile="something" AutoEventWireup="false" CodeFile="something" Inherits="something" %>
<br/><br/>

请输入&#39;输入&#39;在第一行之后。它对我有用

答案 7 :(得分:2)

只需从页面上剪切页面指令行,然后将其保存即可。将页面指令行粘贴回并再次保存。这对我有用。我正在使用vs2019 ..

答案 8 :(得分:2)

您可以尝试在aspx页面标记中编写母版页

像:

  

的MasterPageFile = “〜/ Master.Master”

答案 9 :(得分:2)

由于粗心造成

我的问题已修复

我删除了下面的结构,

可能被.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>

答案 10 :(得分:2)

对我来说,这个错误在我在发布过程中遇到错误后开始发生(我已将其设置为编译.aspx页面)。注意双击错误不会加载解决方案源代码,而是加载obj子文件夹中的副本。即检查您的实际源代码是否已打开

是的,这是一个脑死亡的错误。是的,我只花了10分钟调试它。

答案 11 :(得分:1)

很抱歉以前没有回答过这个问题。虽然我假设VS2012服务包或更新为我解决了这个问题。

答案 12 :(得分:1)

我设法通过将.Net版本(在项目属性中)从4.5更改回3.5来摆脱这些错误。然后我将其更改回4.5并且错误没有返回。

答案 13 :(得分:0)

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

在内容页面绑定到母版页的一行之后,将其添加到ASP页面的顶部。希望你的问题能解决。它对我有用。

Current:Flippertech的ASP开发人员

答案 14 :(得分:0)

如果这个错误出现在那些继承母版页的页面上,那么一个可能的原因是!DOCTYPE标记,你可能在页面的某个地方用来声明!DOCTYPE为html。由于asp是一个asp.net前缀标记而不是html,因此会发生此错误。

答案 15 :(得分:0)

我在asp.net 4网站上遇到过这个问题。添加3.5兼容性修复了它。

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

答案 16 :(得分:0)

就我而言,现有解决方案均无效,但是其中一个解决了。我在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一样,它可以正确解析您的页面。这只是一个理论,但无论如何还是有效的,所以我希望该解决方案也适用于其他人。