为什么NuGet要安装两个JavaScript包副本?

为什么NuGet要安装两个JavaScript包副本?,javascript,nuget,visual-studio-2013,Javascript,Nuget,Visual Studio 2013,当我在Visual Studio中使用NuGet以Project1为目标安装JavaScript包时,我发现脚本被安装到目标项目的Solution1/Project1/scripts文件夹中,也被安装到Solution1/packages文件夹中 此附加副本的意义何在?将packages文件夹视为缓存。如果解决方案中有多个项目,它们会将本地副本从packages文件夹复制到各自的目录中。其思想是,您只需下载一次实际的nuget包,如果项目出错,它只需从缓存中刷新其副本 packages文件夹还包

当我在Visual Studio中使用NuGet以Project1为目标安装JavaScript包时,我发现脚本被安装到目标项目的Solution1/Project1/scripts文件夹中,也被安装到Solution1/packages文件夹中


此附加副本的意义何在?

将packages文件夹视为缓存。如果解决方案中有多个项目,它们会将本地副本从packages文件夹复制到各自的目录中。其思想是,您只需下载一次实际的nuget包,如果项目出错,它只需从缓存中刷新其副本


packages文件夹还包含的不仅仅是javascript文件。它有修改配置文件、nuget包定义的说明,以及visual studio用来跟踪它们的一些其他花絮。

将packages文件夹视为缓存。如果解决方案中有多个项目,它们会将本地副本从packages文件夹复制到各自的目录中。其思想是,您只需下载一次实际的nuget包,如果项目出错,它只需从缓存中刷新其副本


packages文件夹还包含的不仅仅是javascript文件。它有修改配置文件、nuget包定义的说明,以及visual studio用来跟踪它们的一些其他花絮。

对于像jQuery这样的内容包,您的系统上仍然会有.js文件的多个副本,就像复制到bin文件夹中的DLL一样。您不会让每个解决方案都复制包文件夹


对于具有支持许多框架的二进制文件的包,无论解决方案使用的是哪种框架,您目前都将每个支持框架的二进制文件放在每个解决方案的packages文件夹中。使用全局包安装,您将有一个全局包安装,然后每个项目将应用于它的程序集复制到其bin中。

对于jQuery之类的内容包,您的系统上仍然会有多个.js文件副本,就像复制到bin文件夹中的DLL一样。您不会让每个解决方案都复制包文件夹

对于具有支持许多框架的二进制文件的包,无论解决方案使用的是哪种框架,您目前都将每个支持框架的二进制文件放在每个解决方案的packages文件夹中。使用全局包安装,您将有1个全局包安装,然后每个项目将应用于它的程序集复制到其bin中