Visual Studio 2010 Intellisense不适用于asp标记

时间:2011-08-16 19:12:21

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

我在使用Visual Studio 2010 Intellisense时遇到了一些麻烦。在我的一个项目中,Intellisense不显示asp.net标签。但是,它仍然显示HTML标记。除了这个之外,我的所有其他项目都运行良好。如果我输入一个asp标签并构建解决方案,它会强调标签并显示“无法识别的标签前缀或设备过滤器'asp'。”但它完成了构建,没有任何错误,并且所有页面都正确加载/运行。起初我以为它可能是我的电脑,因为它对我的同事工作得很好。我看过很多关于类似问题的其他表格页面,但他们的修复似乎对我没有用。以下是我迄今为止尝试过的事情:

重建解决方案(工作正常,一切正常运行)

关闭/重新开放的视觉工作室

检查我的文本编辑器设置以确保它们是正确的(工具 - >选项 - >文本编辑器 - >所有语言。然后确保选中自动列表成员和参数信息。还检查文本编辑器 - &gt ;相同设置的HTML)

重置我的设置并重新检查

尝试以管理员身份运行visual studio

尝试以安全模式运行visual studio([Windows 7]开始按钮 - >所有程序 - > Microsoft Visual Studio 2010-> Visual Studio工具 - > Visual Studio命令提示符 - >键入:devenv.exe /安全模式)

已删除C:\ Users [UserName] \ AppData \ Roaming \ Microsoft \ VisualStudio \ 10.0 \ ReflectedSchemas

已删除C:\ Users [UserName] \ AppData \ Roaming \ Microsoft \ VisualStudio \ 10.0

在visual studio命令提示符中尝试了devenv.exe / resetuserdata

已安装的Service Pack 1

卸载并重新安装Visual Studio 2010

在每个问题之后问题仍然存在。今天,我的一个同事遇到了同样的问题,Intellisense没有在同一个项目中使用asp标签(在获得最新版本之后)。所以我认为它必须是我们的文件中的东西搞砸了。我假设它将是我们的web.config中的tagPrefix声明。但它看起来对我来说是正确的。

对于可能导致此问题和/或我如何解决问题的人,是否有任何想法?我真的很感激!

5 个答案:

答案 0 :(得分:1)

检查以确保asp前缀和程序集仍在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>

修改

如果这不起作用,请看一下这个讨论:

http://social.msdn.microsoft.com/Forums/en/csharpide/thread/e442ee39-fc82-4614-8f2e-374046e39edd

答案 1 :(得分:1)

我在母版页中错误地将父<body>标记更改为<bod>y(ctrl + T在VS 2010中执行此操作)。因此,在从主页面继承的.aspx页面中无法识别子asp标记。解决这个问题就是所需要的。

添加tagPrefix =&#34; asp&#34;其他人提到的web.config文件并不是必需的。

答案 2 :(得分:0)

我在这个问题上挣扎了一个多小时,尝试了所有解决方案。最后,对我有用的是复制一位与他的视觉工作室没有任何问题的同事的设置。仅供参考,请转到工具&gt;导入和导出设置。从那里是常识!

答案 3 :(得分:0)

与@FuyuPersimmon类似,我的问题是我使用的主页面不包含&lt;身体&gt;标记,因为我希望由子页面定义,以便它们可以各自使用id =&#34;&#34;属性为&lt;身体&gt;标签。但即使添加&lt;身体&gt;在asp:Content标签的子页面中标记,智能感知仍然无法正常工作。显然,由于没有匹配的&lt;而感到困惑。身体&gt;和&lt; / body&gt;在同一个文件中。

答案 4 :(得分:0)

删除架构文件

删除以下文件夹中的所有文件:C:\Users[UserName]\AppData\Roaming\Microsoft\VisualStudio\10.0\ReflectedSchemas.

删除此文件夹中的任何内容都是安全的,因为 Visual Studio 会根据需要重新生成它们。

取消阻止引用的程序集

项目中某个引用的程序集在您的计算机上被阻止可能会出现问题。在Windows资源管理器中右键单击每个DLL,选择“属性”,然后单击“取消阻止”按钮(如果DLL被阻止。)