【问题标题】:Is intellisense not working properly in VS 2008?智能感知在 VS 2008 中是否无法正常工作?
【发布时间】:2009-05-20 11:38:46
【问题描述】:

我无法让 Intellisense 在 ASP.NET 源代码视图中工作。

例如,我使用标记前缀注册 Telerik RadControls DLL,如示例中所述:

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

但是在输入

此外,添加几个控件后,它们会突出显示错误“无法识别的标记前缀或设备过滤器'telerik'”。这很烦人,我似乎找不到解决方案。

顺便说一句,网页本身可以工作 - 只是 Intellisense 不能。

【问题讨论】:

标签: asp.net visual-studio-2008 telerik


【解决方案1】:

Intellisense 可能由于各种原因失败,所以我要问你几个问题:

  1. 设计时是否按预期工作?有时如果未加载设计时程序集,智能感知可能会失败。
  2. 您是否有机会在远程驱动器上工作?我们也发现了这方面的问题。需要将远程驱动器添加为程序集的受信任位置。
  3. 如果您使用的是旧版本的 RadControls,您还需要添加对 Telerik.Charting.dll 的引用。您使用哪个版本?
  4. 最后我们发现升级到 Visual Studio 2008 SP1 可以解决很多问题。如果尚未升级,我强烈建议您升级。

【讨论】:

    【解决方案2】:

    您的整个项目都编译了吗?如果其他地方出现编译错误(甚至是其他页面中的编译错误),Intellisense 经常会中断。

    【讨论】:

      【解决方案3】:

      ctrl + space 是触发它的快捷键...

      可能无济于事,但至少您会知道问题可能在于智能感知无法找到其数据。

      你还有其他类的智能感知吗?

      【讨论】:

        【解决方案4】:

        我注意到 VS2008(使用 SP1)中的智能感知存在一个普遍问题。 随着他们开始支持 JS 智能感知,很多事情变得更慢 - 或者有时无法正常工作。

        我知道描述问题 - 不仅是 Telerik 控件,我还从其他(和我自己的)控件库中知道它。 大多数情况下,重建 - 关闭所有页面并重新启动 VS 可以解决我的问题。

        我的特殊问题(我想这很重要)是我使用的是德文版本的 VS2008。 但也有其他规则(根据我的经验): 项目的大小(超过 50 页的情况变得更糟)。 我不得不在调试时杀死一个应用程序的时间:) 一般我在一个项目上工作的时间(在一个会话中)。

        最后一个提示(可能会有所帮助)当我直接在 web.config 中向控件添加引用时,我感觉问题较少。此外,它使我不必在每个页面上都使用 register 指令。

        看起来像这样:

        <controls>
        <add assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagPrefix="telerik" />
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, 
        

        HTH

        曼弗雷德

        【讨论】:

          【解决方案5】:

          通过将 Telerik .dll 添加到我本地开发机器上的 GAC 中,我自己为 VS2008(用于 aspx/ascx 代码隐藏)修复了这个问题。

          我之前遇到过这个问题,两次都是在我的项目托管在网络驱动器上时,项目的路径类似于:*\\networkmachinename\c$\inetpub\projectname*

          修复:

          在您的本地计算机上,转到开始 > 程序 > Microsoft Visual Studio 2008 > Visual Studio 工具 > Visual Studio 2008 命令提示符(以管理员身份运行)

          使用 gacutil 工具和以下命令(或更多命令,具体取决于您希望使用的 .dll 数量),将程序集添加到您的 GAC:

          gacutil.exe -i "C:\Program Files (x86)\Telerik\RadControls for ASPNET AJAX Q2 2008\Bin35\Telerik.Web.UI.dll"

          gacutil.exe -i "C:\Program Files (x86)\Telerik\RadControls for ASPNET AJAX Q2 2008\Bin35\Telerik.Charting.dll"

          显然根据您的 OS/Telerik/Framework 版本修改目录,然后关闭 Visual Studio 2008 命令提示符,关闭 VS2008(如果打开)并再次重新启动 VS2008。

          您会发现智能感知首先适用于 aspx/ascx 文件,几分钟后它也会适用于您的代码隐藏文件。如果仍然不起作用,请关闭并重试。

          另一个注意事项,如果您在网站的根 web.config 文件中的某处有一个小错误,您也会失去 Telerik(可能还有其他)控件的智能感知 - 所以首先检查您的 web.config 文件是否有误.

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-08-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-09-18
            • 1970-01-01
            相关资源
            最近更新 更多