我无法在Visual Studio 2010中获得JQuery智能感知



我将概述我所看到的问题并立即发布问题的答案,因为我已经看到了几个讨论这个问题的线程,但没有一个提出了我今天早上发现的补救办法。

我正在使用Visual Studio 2010来构建一个web项目,但无法获得任何JQuery智能感知。我确实得到了一些基本的JavaScript智能感知,但没有得到JQuery智能感知。

我已经完成了所有推荐的故障排除-确保我有JQuery本地排除CDN/连接问题,确保我引用正确的JQuery文件,等等。但是没有用——仍然没有JQuery智能感知:

以上问题的解决方案:

长话短说,我在VS2010中使用NuGet包管理器窗格来运行update-package,以防本地JQuery包出现问题,并惊讶地发现报告了许多错误:

Update-Package : 'jQuery' was not installed in any project. Update failed.
...
Update-Package : 'jQuery.vsdoc' was not installed in any project. Update failed.
...

这是奇怪的。让我们看看我们安装了哪些包:

PM> get-package
Id                             Version      
--                             -------      
dotless                        1.2.1.0      
EntityFramework                4.1.10331.0  
EntityFramework                4.1.10715.0  
jQuery                         1.6.2        
jQuery                         1.6.4        
jQuery.UI.Combined             1.8.16       
jQuery.Validation              1.8.1        
jQuery.vsdoc                   1.6          

注意我似乎安装了多个JQuery包。这可能会让Visual Studio的Javascript智能感知引擎感到困惑。

我记得就在几周前,我更新了我的NuGet包,并注意到一个新版本的JQuery已经下载,旧版本似乎已经从我的项目中删除,取而代之的是JQuery-1.6.4。我原以为做得不错,但我猜一定是升级的时候出了什么问题。

因此,我对每个JQuery库多次使用"uninstall-package…",直到所有对JQuery的引用都被删除。

然后我使用"install-package JQuery"将最新的JQuery重新添加到我的项目中。我"重建"了这个项目来重新生成JavaScript智能感知,并很高兴地看到JQuery智能感知恢复到它的全部工作荣耀!

这个问题和它的解决方法也记录在我的博客上:http://www.bitcrazed.com/post/2011/10/07/How-NuGet-hosed-my-Javascript-Intellisense-but-still-saved-the-day.aspx

希望这能帮助到那些在Visual Studio 2010中遇到JQuery智能感知问题的人。