添加“Microsoft.jQuery.Unobtrusive.Validation”包请求jQuery 1.4.1?

在其中一个项目中,我需要重新安装jQuery NuGet包(一个MVC解决方案)。

还有一个“Microsoft.jQuery.Unobtrusive.Validation”,我应该在删除jQuery包之前卸载它。

现在我尝试(重新)安装jQuery包,以及之前删除的所有依赖包。 “Microsoft.jQuery.Unobtrusive.Validation”包打破说:

试图解决依赖’jQuery(≥1.8)’。
试图解决依赖’jQuery.Validation(≥1.8)’。
试图解决依赖’jQuery(≥1.3.2&&≤1.6)’。
将“jQuery 1.8.0”更新为“jQuery 1.4.1”失败了。
无法找到与’jQuery 1.4.1’兼容的’Microsoft.jQuery.Unobtrusive.Validation’版本。

是吗? 我需要使用最新的jQuery(2.0.xx)!

我应该注意到类似的“Microsoft.jQuery.Unobtrusive.Ajax”包没有这个’bug’。 安装没有问题。

PS。 现在我尝试安装(非Microsoft)jQuery.Validation …

这是错误日志:

试图解决依赖’Microsoft.jQuery.Unobtrusive.Validation(≥2.0.20613.0)’。
试图解决依赖’jQuery.Validation(≥1.8&& <2.0)'。
试图解决依赖’jQuery(≥1.3.2&&≤1.6)’。
安装’jQuery 1.4.1’。 成功安装了“jQuery 1.4.1”。
安装’jQuery.Validation 1.8’。
成功安装’jQuery.Validation 1.8’。
安装’Microsoft.jQuery.Unobtrusive.Validation 2.0.20710.0’。
成功安装了“Microsoft.jQuery.Unobtrusive.Validation 2.0.20710.0”。
安装’jQuery.Validation.Unobtrusive 2.0.20710.0’。
成功安装’jQuery.Validation.Unobtrusive 2.0.20710.0’。
安装失败。
滚回来…
将“jQuery 1.9.0”更新为“jQuery 1.4.1”失败了。 无法找到与’jQuery 1.4.1’兼容的’bootstrap,jQuery.BlockUI,Microsoft.jQuery.Unobtrusive.Ajax’版本。

我现在遇到了同样的问题。

使用NuGet我添加了“jQuery”,然后“jQuery Validatation”再次尝试“Microsoft jQuery Unobtrusive Validation”,这次安装得很好:)

jQuery 1.x和jQuery 2.x是jQuery的两个独立分支。 jQuery 1.x继续支持旧版本的IE(6/7/8),而2.x则不支持。 从本质上讲,jQuery有两个“最新”版本。

jQueryvalidation目前尚未使用2.x分支进行测试, 目前列出支持/测试的1.6.4,1.7.2,1.8.3,1.9.1,1.11.1 。 它可能适用于jQuery 2.x,但因为它在技术上目前不支持它。 因为这个原因,我一直坚持使用最新的jQuery 1.x版本。

你是如何解决这个问题的?

要解决此问题,请通过在程序包管理器控制台中键入以下命令来切换到最新的jQuery 1.x版本(当前为1.11.1),以将引用从2.x更新为1.11.1。

 Install-Package jQuery -Version 1.11.1 

就像@Dragick先前说的那样,有一个奇怪的依赖问题,如果你试图直接安装它而没有安装jQuery.Validation nuget,那么Microsoft.jQuery.Unobtrusive.Validation nuget无法确定jQuery版本。 要解决此问题,请单独安装它们,如下所示:

 Install-Package jQuery.Validation Install-Package Microsoft.jQuery.Unobtrusive.Validation 

同样的问题在这里 我离开了安装的jQuery 2.1.0软件包然后安装了jQuery Validate,然后安装了jQuery Unobtrusive并且它工作正常。