使用PackageReference时是否需要安装Package Dependencies

时间:2017-10-19 10:53:31

标签: c# nuget visual-studio-2017

所以我以前使用旧的packages.config方法来安装nugets,这些方法通过在安装软件包时安装任何依赖项来工作:即

  • 套餐1
    • 依赖关系1
    • 依赖关系2

我现在已更改为使用PackageReference,但在安装“Package 1”时注意到它不会自动安装依赖项。因为我不确定我是否手动安装了“Depdendency 1”和“Dependency 2”

使用PackageReference时是否需要手动安装“Depndendency 1”和“Dependency 2”?

1 个答案:

答案 0 :(得分:2)

直接回答您的问题只是,您不需要手动安装依赖项。

最近的VS 2017和MSBuild工作中有一些变化和性能改进。关于这意味着什么here

,有一些很好的信息
  

过去,如果您的项目引用了包A,而包A又反过来引用了包B,C和D,那么您会看到所有包都列为您的依赖项。通过Transitive Package Restore,NuGet可以动态地解析依赖关系,为您提供所关注软件包的整洁视图。

这解释了“缺失”的包引用。如果您对“缺失”文件本身感兴趣,那么还有更多相关信息:

  

不再使用解决方案本地包文件夹 - 现在,针对用户缓存%userdata%.nuget解析包,而不是特定于解决方案的包文件夹。这使得PackageReference的执行速度更快,并且通过在工作站上使用包的共享文件夹来减少磁盘空间。

我说应该不需要的原因是在混合使用.NET Standard和.NET Framework时,这个区域有一个已知的issue