项目清单中的 dependencies 属性是一个 JSON 对象,可将包名称映射到版本。版本号指示要从包注册表下载包的哪个版本。例如:
{
"dependencies": {
"com.my-package": "2.3.1",
"com.my-other-package": "1.0.1-preview.1",
etc.
}
}
除了使用版本号之外,Package Manager 还支持通过以下内容来添加项目依赖关系:
直接依赖关系是项目级别的依赖关系。通过 Package Manager 窗口来安装包或手动编辑项目的 manifest.json
文件以显式添加依赖关系时,您将创建直接包依赖关系 ():
包可以声明自身对其他包的依赖关系。当您安装包时,此类包依赖关系将成为项目的间接 () 依赖关系,也称为传递性依赖关系。
Package Manager 会确定要安装包的哪个版本(无论包将成为项目的直接依赖项还是间接依赖项)。为此,Package Manager 将优先考虑直接依赖关系,然后才考虑间接依赖关系,但前提是更高优先级的版本不违反任何其他要求。
这种评估称为依赖关系解析,大致遵循以下逻辑:
在任何情况下,都可以手动覆盖这些解决策略。为此,请在项目清单中请求特定版本(通过从 Package Manager 窗口进行安装或通过直接编辑清单)。这将创建直接依赖关系,其优先级高于任何解决策略。