为什么NuGet将包存储在C:\ Users \ <用户名> \。nuget \ packages中?

时间:2017-09-05 09:30:25

标签: nuget

据我所知,现在可以为所有项目配置全局包目录,但我注意到NuGet也将文件放在我的主目录中。是否可以配置一个将用于所有项目的仓库?

2 个答案:

答案 0 :(得分:4)

NuGet为PackageReference(现已弃用)和基于packages的项目(默认的.NET Core,.NET Standard)引入了一种新的包管理方式。

不是创建一个解决方案本地repositoryPath文件夹,而是将所有包下载并解压缩(在NuGet.Config覆盖中为alt:%userprofile%\.nuget\packages位置),所有包都会下载到全局位置(受控制)由globalPackagesFolder in NuGet.Config)默认为~/.nuget/packages(在Linux / Mac上为.runtimeconfig.json)。

这个想法是你不必多次下载包,csproj文件不再引用所有单个文件而只引用包。 .NET Core项目也不需要复制NuGet包的资产,因为生成的$(select).val()文件指定了全局缓存在运行时查找包的位置,因此构建可以更快一些。

答案 1 :(得分:-1)