Bootstrap 3.3.6 JQuery 2.2.4版本例外

我想在我的新ASP.Net Core应用程序中使用Bootstrap和JQuery。 但是当我尝试运行应用程序时,我遇到错误“Bootstrap的JavaScript需要jQuery版本1.9.1或更高版本,但低于版本3”。

我已经使用bower将Bootstrap添加到我的应用程序中,并添加了Bootstrap 3.3.6版,它自动添加了JQuery 2.2.4。 问题是,似乎版本2.2.4的JQuery实际上是在3.0.0-rc1版本,这导致Bootstrapvalidation失败,因为它只接受版本1.9.1但不到版本3的JQuery版本?

我该如何解决这个冲突? Bootstrap是如何与不兼容的JQuery版本打包的?

在这里,您可以在我的解决方案中查看我的文件,显示Bootstrap和JQuery版本:正如您所看到的,还没有安装其他版本的JQuery。

这是我的Html标记的片段

      

HELLOOOO!

这导致Chrome报告“Bootstrap的JavaScript需要jQuery版本1.9.1或更高版本,但低于版本3”

任何帮助将不胜感激!

我们发现问题的根源是来自C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git git.exe,它不是真正的Git,而是某种包装器。

通过它,bower尝试安装正确的版本,但是如果你查看bower缓存,你可以看到实际下载的文件不匹配。

例:

 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External> bower install jquery#2.2.4 bower jquery#2.2.4 not-cached https://github.com/jquery/jquery-dist.git#2.2.4 bower jquery#2.2.4 resolve https://github.com/jquery/jquery-dist.git#2.2.4 bower jquery#2.2.4 checkout 2.2.4 bower jquery#2.2.4 resolved https://github.com/jquery/jquery-dist.git#2.2.4 bower jquery#2.2.4 install jquery#2.2.4 jquery#2.2.4 bower_components\jquery 

检查“%USERPROFILE%\ AppData \ Local \ bower \ cache \ packages \ 35300e45e44dbc6f186ed069533ef0af \ 2.2.4 \ dist \ jquery.js”的内容:

 /*eslint-disable no-unused-vars*/ /*! * jQuery JavaScript Library v3.1.0 

方案

  1. 安装Git for Windows
  2. 删除%USERPROFILE%\ AppData \ Local \ bower
  3. 重新启动Visual Studio
  4. 删除wwwroot / lib和还原bower包

更新:您可能还需要调整VS外部Web工具设置

正如Phil所指出的,这是由Visual Studio内置的Bower支持引起的。 使用它时,似乎下载了不同版本的JQuery。

为了解决这个问题,我只使用了正确的Bower客户端并通过控制台安装了我的软件包。

删除wwwroot上的Lib forder并运行bower install,确保在bower.json文件中有你想要的jquery版本。