所以我以前使用旧的packages.config
方法来安装nugets,这些方法通过在安装软件包时安装任何依赖项来工作:即
我现在已更改为使用PackageReference
,但在安装“Package 1”时注意到它不会自动安装依赖项。因为我不确定我是否手动安装了“Depdendency 1”和“Dependency 2”
使用PackageReference
时是否需要手动安装“Depndendency 1”和“Dependency 2”?
答案 0 :(得分:2)
直接回答您的问题只是不,您不需要手动安装依赖项。
最近的VS 2017和MSBuild工作中有一些变化和性能改进。关于这意味着什么here:
,有一些很好的信息过去,如果您的项目引用了包A,而包A又反过来引用了包B,C和D,那么您会看到所有包都列为您的依赖项。通过Transitive Package Restore,NuGet可以动态地解析依赖关系,为您提供所关注软件包的整洁视图。
这解释了“缺失”的包引用。如果您对“缺失”文件本身感兴趣,那么还有更多相关信息:
不再使用解决方案本地包文件夹 - 现在,针对用户缓存%userdata%.nuget解析包,而不是特定于解决方案的包文件夹。这使得PackageReference的执行速度更快,并且通过在工作站上使用包的共享文件夹来减少磁盘空间。
我说应该不需要的原因是在混合使用.NET Standard和.NET Framework时,这个区域有一个已知的issue。