Visual Studio 为什么nuget包不安装到packages子文件夹中

ejk8hzay  于 2023-01-09  发布在  其他
关注(0)|答案(1)|浏览(253)

我有一个解决方案,其中有很多项目使用了很多包。通常,包都安装在解决方案下的“packages”子文件夹中。但是现在我注意到最近安装的包没有安装在那里,而是安装在\users\myid\packages中。那里安装了很多其他的包。有些是解决方案文件夹中的包的副本,有些是额外的。
有些包可能是用visual studio解决方案管理器安装的,有些是用visual studio的nuget命令行安装的,但这种差异似乎并不能解释安装位置的差异。
为什么我的最新程序包没有安装到解决方案文件夹?如何才能使它安装到解决方案文件夹?
我使用的是Visual Studio 2022,混合了.net框架和.net core/5+项目。

hof1towb

hof1towb1#

使用PackageReference的项目总是直接使用global-packages中的包。使用packages.config时,包会安装到global-packages文件夹,然后复制到项目的packages文件夹(solution\packages子文件夹)。
您可以参考文档:Managing the global packages, cache, and temp folders
如果您使用packages.config安装软件包,它将安装到solution\packages子文件夹
如果您使用visual studio命令行来安装nuget或其他程序,它将安装到global-packages(默认)。
您可以使用nuget locals global-packages -list来获取全局包的路径。
如果希望将包安装到解决方案文件夹,可以使用nuget config重写安装路径。
例如:

nuget config -set globalPackagesFolder=<your solution subfolder>

相关问题