project.json 中的两个依赖项部分之间有啥不同

Posted

技术标签:

【中文标题】project.json 中的两个依赖项部分之间有啥不同【英文标题】:What's different between two dependencies sections in project.jsonproject.json 中的两个依赖项部分之间有什么不同 【发布时间】:2014-08-02 16:49:01 【问题描述】:

这是一个 MVC 项目的示例(我删除了几个项目):


    "dependencies": 
        // (1)
        "Helios": "0.1-alpha-build-0585",
        "Microsoft.AspNet.Mvc": "0.1-alpha-build-1268"
    ,
    "configurations": 
        "net45": 
            "dependencies": 
                // (2)
                "System.Data": "",
                "System.ComponentModel.DataAnnotations": ""
            
        ,
        "k10": 
        
    

我可以将“System.Data”移动到 (1) 或将“Helios”移动到 (2) 吗?

我将程序集放入 (1) 或 (2) 有什么不同?

对了,版本中的“”是什么意思?

【问题讨论】:

【参考方案1】:

第一个依赖节点适用于所有配置。这意味着您将 Helios 添加到 #1,它将适用于 net45 和 k10。

第二部分是特定于配置的。如果你在 k10 中添加了一些东西,net45 将无法使用它,反之亦然。

Here 是一个示例,说明当您拥有特定配置的包时会是什么样子。

【讨论】:

以上是关于project.json 中的两个依赖项部分之间有啥不同的主要内容,如果未能解决你的问题,请参考以下文章

project.json 和 csproj 属性之间的映射

如何在同一个 monorepo 中的 Python 项目之间共享开发依赖项?

WPF编程宝典之依赖项属性

Apache Ivy:解决嵌入在安装程序中的依赖项

使用meson build我可以定义项目内的依赖项吗?

R:如何在 R 中的两个重复项之间包含一个字符?