什么是如何以及如何在project.json中选择依赖类型

时间:2016-06-29 15:30:03

标签: asp.net-core .net-core

我无法找到有关" build"之间区别的信息。和平台" (可能还有其他一些)依赖类型,默认类型是什么。

例如,我可以使用

添加依赖项
"Microsoft.Extensions.JsonParser.Sources": "1.0.0"

"Microsoft.Extensions.JsonParser.Sources": {
  "type": "build",
  "version": "1.0.0"
},

"Microsoft.Extensions.JsonParser.Sources": {
  "type": "platform",
  "version": "1.0.0"
},

那么如何选择? Official documentation尚未包含有关此内容的信息。

2 个答案:

答案 0 :(得分:5)

我建议避免手动编辑这个文件,这样你就不必过多地关注它了。此外,还有plans完全删除它 - 这样您甚至不会再使用project.json文件来定义dependencies。根据{{​​1}}的{​​{3}},project.json键定义如下:

type
  • 构建 =仅在构建项目时需要的依赖项JSON SchemaStore definition

  • platform =预期驻留在项目配置为"type": { "type": "string", "default": "default", "enum": [ "default", "build", "platform" ] 的平台上的依赖项。

  

类型"平台"该依赖项的属性意味着在发布时,工具将跳过将该依赖项的程序集发布到已发布的输出。

如果你检查 dotnet repo中build-time dependency的来源,你会看到它如何将这个JSON序列化为一个对象,在这个对象中我们可以找到它的含义(详见上文) )。

补充阅读

答案 1 :(得分:0)

文档确实说明了(至少对于平台而言),你只需要看一下正确的地方:)

您可以在.NET Core App Types页面找到它。基本上,"平台"表示从已安装的运行时使用它,并且在发布/部署应用程序时不会打包。

基本上你使用" platform"用于便携式应用程序,没有用于自包含应用程序的类型