.net - 使用运行时特定的实现有什么好处?
问题描述
dotnet restore --runtime linux-musl-x64
从 alpine 容器中运行 a时,我注意到runtime.unix.System*
正在下载一些包,当--runtime
未指定标志时不会下载这些包。我假设这是因为当runtime
dotnet restore 不存在时,它默认any
恢复包提供的与平台无关的实现。这是一个正确的假设吗?
我想知道是否在任何地方都记录了使用.Net CORE 包的运行时特定实现的优势?例如System.Net.Sockets
和runtime.unix.System.Net.Sockets
。我会假设因为它们不是通用实现,所以从内存和 CPU 利用率的角度来看它们更有效,但是有任何官方建议或基准吗?
解决方案
这不是优点/缺点的问题。当您指定运行时平台时,您将专门针对该平台,否则,您将针对任何可能的平台。在前一种情况下,引入了唯一必要的运行时组件,而在后一种情况下,只是对目标上可能安装的任何运行时的松散引用。无论哪种方式都将使用这些软件包。有适用于 Windows、Linux、Mac 等的运行时包。使用哪些显然取决于应用程序最终部署的位置,或者当然,运行时标志的规范。
推荐阅读
- python - 消费者可以从存储特定键值数据的分区中读取记录吗?
- ruby-on-rails - 如何解决rails中的“没有将类隐式转换为字符串”?
- amp-html - 将海报图片发送到 amp-youtube
- dart - 转换 dart http.get 请求以匹配构造函数
- git - 合并推送功能分支后,从主分支中删除功能分支的提交消息
- android - 如何在firestore中的数组索引下存储数据集合
- java - 如何在 Android 中意图动态生成 EditText 数据?
- swift - 如何等到firestore上的删除功能完成
- python - Gensim 包中的 Coherence 分数错误
- javascript - 函数内的 $scope 变量没有在 Angular js 中更新