.NET Core 运行时标识符 (RID) 目录

2017-02-08  本文已影响0人  淡定的淡定着

本文摘自微软官方文档,点击这里查看原文。
本文摘录日期:2017-02-08


引言:每次新建.Net Core项目后,在进行跨平台发布时总是要找对应的发布平台runtimes。在这里做下收藏。

RID 是什么?

RID 是运行时标识符的缩写。 RID 用于标识其中将运行应用程序或资产(即程序集)的目标操作系统。 其外观类似如下:“ubuntu.14.04-x64”、“win7-x64”、“osx.10.11-x64”。 对于具有本机依赖项的包,它将指定在其中可以还原包的平台。

请务必注意 RID 实际上是不透明字符串。 这意味着它们需要与使用它们的操作完全匹配。 例如,让我们设想这样的情况,Elementary OS 是 Ubuntu 14.04 的简单克隆。 虽然 .NET Core 和 CLI 基于该版本的 Ubuntu 工作,但如果尝试不进行任何修改就在 Elementary OS 上使用它们,则任何包的还原操作都将失败。 这是因为当前不具有将 Elementary OS 指定为一种平台的 RID。

表示具体操作系统的 RID 通常遵循以下模式:[os].[version]-[arch],其中:

RID 图形是在名为 runtime.json 的文件中名为 Microsoft.NETCore.Platforms 的包中定义的,请参见 CoreFX repo。 如果使用此文件,你将注意到,某些 RID 中具有 "#import" 语句。 这些语句是兼容性语句。 这意味着其中已导入 RID 的 RID 可以作为该 RID 还原包的目标。 看上去有点混乱,让我们看一个示例。 我们来看一看 macOS:

"osx.10.11-x64": {
    "#import": [ "osx.10.11", "osx.10.10-x64" ]
}

上述 RID 指定 osx.10.11-x64 导入 osx.10.10-x64。 这意味着,当还原包时,NuGet 将能够还原指定在 osx.10.11-x64 上需要 osx.10.10-x64 的所有包。

一个稍微大点的示例 RID 关系图:

所有 RID 最终都会映射回根 any RID。

虽然看起来使用相当容易,但仍有几件关于 RID 的特殊事项,在你使用它们的时候需要牢记:

使用 RID

若要使用 RID,必须知道有哪些 RID。 新的 RID 将定期添加到该平台。 有关最新版本,请查看 CoreFX 存储库上的 runtime.json 文件。

[!NOTE]
我们正致力于以更具交互性的形式提供此信息。 届时,此页面将更新为指向该工具和/或其使用情况文档。

Windows RID

Linux RID

OS X RID

上一篇下一篇

猜你喜欢

热点阅读