NuGet - RID 和 TFM 示例

2024-01-11

我一直在 GitHub 上查看 NuGet3 的代码,并且在以下位置看到了几种文件夹模式https://github.com/NuGet/NuGet3/blob/a5bc907d36ddaa8d4fa6c499e50d7ebf8993ed39/src/NuGet.Client/ManagedCodeConventions.cs https://github.com/NuGet/NuGet3/blob/a5bc907d36ddaa8d4fa6c499e50d7ebf8993ed39/src/NuGet.Client/ManagedCodeConventions.cs与 NuGet 包中的预期文件夹结构相关。但是,我很难找到这些示例 - 特别是 rod 和 tfm 值。

我怎样才能知道rid和tfm的所有可能值?我知道它们的意思是运行时标识符和目标框架名字,但我真的不知道该怎么办。

我见过的文档似乎从未直接或详尽地处理该主题。


目标框架当前硬编码在 NuGet 源代码中。虽然一些目标框架记录在NuGet 网站 http://docs.nuget.org/create/enforced-package-conventions还有很多没有记录在那里。正如 Jeff R 已经提到的,目前找到目标框架的最佳方法是查看 NuGet 源代码。

  • NuGet 版本 2 目标框架 https://github.com/NuGet/NuGet2/blob/2.8.7/src/Core/Utility/VersionUtility.cs.
  • NuGet 版本 3 目标框架 https://github.com/NuGet/NuGet.Client/blob/23ea68b91a439fcfd7f94bcd01bcdee2e8adae92/src/NuGet.Core/NuGet.Frameworks/FrameworkConstants.cs

NuGet 还有短标识符 https://github.com/NuGet/NuGet.Client/blob/23ea68b91a439fcfd7f94bcd01bcdee2e8adae92/src/NuGet.Core/NuGet.Frameworks/DefaultFrameworkMappings.cs对于其中一些框架(例如 wp = WindowsPhone)。

Microsoft 定义的运行时标识符可在Microsoft.NETCore.Platforms NuGet 包 https://www.nuget.org/packages/Microsoft.NETCore.Platforms。此 NuGet 包内有一个带有运行时标识符的 runtime.json 文件:

{
    "runtimes": {
        "base": {
        },

        "any": {
            "#import": [ "base" ]
        },

        "win": {
            "#import": [ "any" ]
        },
        "win-x86": {
            "#import": [ "win" ]
        },
        "win-x64": {
            "#import": [ "win" ]
        },

        "win7": {
            "#import": [ "win" ]
        },
        "win7-x86": {
            "#import": [ "win7", "win-x86" ]
        },
        "win7-x64": {
            "#import": [ "win7", "win-x64" ]
        },

        "win8": {
            "#import": [ "win7" ]
        },
        "win8-x86": {
            "#import": [ "win8", "win7-x86" ]
        },
        "win8-x64": {
            "#import": [ "win8", "win7-x64" ]
        },
        "win8-arm": {
            "#import": [ "win8" ]
        },

        "win81": {
            "#import": [ "win8" ]
        },
        "win81-x86": {
            "#import": [ "win81", "win8-x86" ]
        },
        "win81-x64": {
            "#import": [ "win81", "win8-x64" ]
        },
        "win81-arm": {
            "#import": [ "win81", "win8-arm" ]
        },

        "win10": {
            "#import": [ "win81" ]
        },
        "win10-x86": {
            "#import": [ "win10", "win81-x86" ]
        },
        "win10-x64": {
            "#import": [ "win10", "win81-x64" ]
        },
        "win10-arm": {
            "#import": [ "win10", "win81-arm" ]
        },


        "aot": {
            "#import": [ "any" ]
        },

        "win-aot": {
            "#import": [ "win", "aot" ]
        },
        "win-x86-aot": {
            "#import": [ "win-aot", "win-x86" ]
        },
        "win-x64-aot": {
            "#import": [ "win-aot", "win-x64" ]
        },

        "win7-aot": {
            "#import": [ "win-aot", "win7" ]
        },
        "win7-x86-aot": {
            "#import": [ "win7-aot", "win7-x86" ]
        },
        "win7-x64-aot": {
            "#import": [ "win7-aot", "win7-x64" ]
        },

        "win8-aot": {
            "#import": [ "win8", "win7-aot" ]
        },
        "win8-x86-aot": {
            "#import": [ "win8-aot", "win8-x86", "win7-x86-aot" ]
        },
        "win8-x64-aot": {
            "#import": [ "win8-aot", "win8-x64", "win7-x64-aot" ]
        },
        "win8-arm-aot": {
            "#import": [ "win8-aot", "win8-arm" ]
        },

        "win81-aot": {
            "#import": [ "win81", "win8-aot" ]
        },
        "win81-x86-aot": {
            "#import": [ "win81-aot", "win81-x86", "win8-x86-aot" ]
        },
        "win81-x64-aot": {
            "#import": [ "win81-aot", "win81-x64", "win8-x64-aot" ]
        },
        "win81-arm-aot": {
            "#import": [ "win81-aot", "win81-arm", "win8-arm-aot" ]
        },

        "win10-aot": {
            "#import": [ "win10", "win81-aot" ]
        },
        "win10-x86-aot": {
            "#import": [ "win10-aot", "win10-x86", "win81-x86-aot" ]
        },
        "win10-x64-aot": {
            "#import": [ "win10-aot", "win10-x64", "win81-x64-aot" ]
        },
        "win10-arm-aot": {
            "#import": [ "win10-aot", "win10-arm", "win81-arm-aot" ]
        }
    }
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NuGet - RID 和 TFM 示例 的相关文章

随机推荐

  • 在同一查询中使用 DISTINCT 和 TOP

    我想用DISTINCT and TOP在同一个查询中 我试过 SELECT DISTINCT TOP 10 FROM TableA 但我还有一个副本personID 所以我想这样做 SELECT DISTINCT personID TOP
  • UIPickerView 最佳实践?

    一个简短的问题 在注册过程中 我想要求用户从值列表中选择一个值 使用视图控制器添加所有文本字段并为值添加选择器视图是正确的方法吗 由于选择器视图在文本字段区域之间需要如此多的空间 我想知道在这种情况下的最佳实践是什么 到目前为止 这是我的代
  • 使用可选的非默认参数以编程方式创建 R 函数

    继从如何以编程方式创建 R 函数 https stackoverflow com questions 12982528 how to create an r function programmatically 我想从它们的组件构建 R 函数
  • 响应式图像如何与“尺寸”中提供的长度“em”一起使用?

    浏览器如何理解em在响应式图像中使用时的单位 img alt A giraffe src giraffe jpg 这是有效的 并且我没有在浏览器控制台中看到警告 但如果图像预加载器的全部目的是获取图像beforeCSS被下载并解析 浏览器用
  • android BluetoothChat 使用来自另一个类的发送接收方法

    您好 我使用 BluetoothChat 示例来与 arduino 进行通信 到目前为止 一切正常 现在我想访问 sendMessage 方法 以便能够不从主类发送数据 而是从我创建的另一个类发送数据 这是BluetoothChat jav
  • Go语言中比较数组

    如何正确比较 Go 中的两个数组 例如 如何将二维数组与int条目 或任何其他类型 这种比较有多深 要比较两个数组 请使用比较运算符 http golang org ref spec Comparison operators or 引用自链
  • 我应该注入执行算法所需的对象吗?我应该注射所有东西吗?

    也许我在文档中错过了它 但我想知道应该如何处理 帮助对象 代码示例 public Path dijkstra Node startNode Node endNode Set
  • 哪种性能最好:使用 XPath 的 XPathNavigator 与使用查询的 Linq to Xml?

    我有一个应用程序 在其中使用 XPathNavigator 来迭代节点 它运行良好 但我想知道如果我使用 LINQ to Xml 我将获得什么好处 性能 可维护性 使用 XPath LINQ to Xml 对性能有何影响 我正在使用 C n
  • 将静态 IP 地址与 Amazon EC2 结合使用

    我想将 Amazon Web Service 免费微实例用于我的不同项目以进行测试和个人目的 但我需要一些静态公共 IP 来运行我的服务器 那可能吗 我可以从哪里购买 IP 并将其与我的 AWS 一起使用 EC2 弹性 IP 地址 http
  • ActiveAdmin不会保存有很多并且属于很多字段

    我有 2 个型号 类别和帖子 它们使用 has many and belongs to many 关系进行连接 我检查了 Rails 控制台 关系正常 我在 activeadmin 中创建了复选框来使用此表单字段设置帖子类别 f input
  • 为什么 %prec 在此 bison 语法中不起作用?

    考虑以下 Bison 语法 这是从我正在研究的一个更大的语法中剥离出来的 token ident left left CALLPREC start add expr ident call add call expr prec CALLPRE
  • 在 Mono 上使用自定义 SSL 客户端证书 System.Net.HttpClient

    我在用着Microsoft HTTP 客户端库 https www nuget org packages Microsoft Net Http来自 NuGet 我基本上尝试使用 X509Certificate2 证书在 HttpClient
  • lambda 内隐含的匿名类型

    In 这个问题 https stackoverflow com q 43973776 1876620 用户 Holger 提供一个答案 https stackoverflow com a 43983558 1876620这显示了我不知道的匿
  • 无法将导出用作类型,因为导出是一个值

    运行时出现此错误flow check 但我不确定这意味着什么 无法将导出用作类型 因为导出是一个值 要获取值的类型 请使用 typeof 错误位置是0 1 在 flow注释处 这是代码 flow import Chunk from mode
  • svn commit 不带-m

    我尝试过输入svn commit它将弹出一个屏幕 其中显示正在添加 更改 等的文件列表 以及在消息中输入的位置 但按 Enter 会在消息中添加换行符 而不是启动提交 是否有热键或某些组合键来启动提交 看起来底部有某种类似 emacs 的控
  • 如何以及在何处使用 AsyncStorage 保存整个 redux 存储

    我想知道是否必须执行类似的操作 才能在反应本机应用程序中使用 AsyncStorage 保存应用程序的整个存储 并在应用程序启动时检查它是否存在 var store loadInitialState async gt try var val
  • Vuetify 构建为 Web 组件样式未显示

    我正在使用 Vue 和 Vuetify 以及 Web 组件构建一个应用程序 当我将 Vuetify 添加为 Web 组件时 CSS 样式 Vuetify 消失了 我尝试将以下内容添加到 demo html 文件中但这没有帮助 我的仓库是vu
  • android listview半透明选择行的颜色

    我需要在列表视图中实现半透明的行选择 以及 按下 状态 如果我应用纯色 那么一切都会按预期进行 但如果我应用半透明颜色 44444444 那么我会看到默认选择颜色 在我的 2 3 android 上为橙色 在它的顶部是我的颜色 它使橙色稍微
  • 在 XML 中应如何解释带有 CDATA 和空格的文本节点?

    System Xml 解析功能给我带来了一些惊喜 我想知道以下内容如何should被解释 或者如果这是 取决于实现 版本1
  • NuGet - RID 和 TFM 示例

    我一直在 GitHub 上查看 NuGet3 的代码 并且在以下位置看到了几种文件夹模式https github com NuGet NuGet3 blob a5bc907d36ddaa8d4fa6c499e50d7ebf8993ed39