VS2017启用PackageReference后NuGet包的下载路径咨询
关于PackageReference模式下NuGet包的存储位置
嘿,这其实是PackageReference模式的正常行为,和传统的packages.config模式完全不一样——启用PackageReference后,NuGet不会把包下载到你解决方案目录的packages文件夹里,而是存在用户级的全局NuGet缓存中,所有使用PackageReference的项目都会共享这个缓存,能省不少磁盘空间呢!
具体的存储路径分系统来看:
- Windows系统:路径是
%userprofile%\.nuget\packages,你可以直接在文件资源管理器里输入这个路径打开,或者找到你用户目录下的.nuget文件夹,里面的packages就是存储位置。 - Mac/Linux系统:路径是
~/.nuget/packages,在终端里输入这个路径就能访问。
如果想确认具体的包位置,还有两个实用小方法:
- 在Visual Studio里右键点击项目中带蓝色图标的包引用,选择「属性」,在属性面板的「源」字段就能看到该包的具体缓存路径。
- 打开命令提示符(Windows)或终端(Mac/Linux),执行
nuget locals all -list命令,能列出NuGet所有的缓存位置,包括包缓存的路径。
这种设计的好处是避免每个解决方案都重复存储相同版本的包,同时也更便于统一管理包版本,完全不用担心包找不到,项目编译的时候会自动从全局缓存里加载对应的包文件~
内容的提问来源于stack exchange,提问作者LP13
相关产品推荐
相关产品推荐

