《ASP.NET Core 高性能系列》关于.NET Core的部署方式
2021-04-23 15:27
标签:for 未来 com x64 面向 技术 forward tps 存储
框架依赖的部署(FDD)。顾名思义,框架依赖的部署(FDD)依赖于目标系统上是否存在.NET Core版本。由于.NET Core已经存在,因此您的应用程序在不同的.NET Core版本中进行移植。您的应用程序仅包含其自己的代码以及.NET Core库之外的任何第三方依赖项。FDD包含.dll文件,可以通过使用dotnet命令行启动这些文件。 例如, 自包含的部署(SCD)。与FDD不同,自包含部署(SCD)不依赖于目标系统上共享组件的存在。所有组件,包括.NET Core库和.NET Core运行时,都包含在应用程序中 依赖框架的可执行文件(FDE)。生成在目标平台上运行的可执行文件。与FDD相似,框架相关的可执行文件(FDE)是特定于平台的,并且不是自包含的。这些部署仍然依赖于存在共享的系统范围的.NET Core版本来运行。可以通过调用已发布的可执行文件来运行您的应用程序,而无需 对于FDD,仅部署应用程序和第三方依赖项。应用将使用目标系统上存在的.NET Core版本, 这是针对.NET Core的.NET Core和ASP.NET Core应用程序的默认部署模型。 FDD的优点: 不必预先定义你的应用程序的目标操作系统。 部署包的很小。只会部署应用程序及其依赖项,而不部署.NET Core本身。 除非被覆盖,否则FDD将使用目标系统上安装的最新的.NET Core运行时。这样应用程序可以使用.NET Core运行时的最新修补版本。 多个应用程序使用同一.NET Core安装,从而减少了主机系统上的磁盘空间和内存使用。 FDD的缺点: 仅当您的应用程序所面向的.NET Core 版本或更高版本已在主机系统上安装时,您的应用程序才能运行。 .NET Core运行时和库可能会在您不了解未来版本的情况下进行更改。在极少数情况下,这可能会改变您应用的行为。 SCD的优点: 可以完全控制与应用程序一起部署的.NET Core版本。 不用担心目标系统没有安装.NET Core SCD的缺点: 由于.NET Core包含在部署程序包中,因此您必须预先选择要为其构建部署程序包的目标系统平台。 部署包相对较大,因为必须包括.NET Core以及应用程序及其第三方依赖项。 从.NET Core 2.0开始,通过使用.NET Core 全球化不变模式,您可以将Linux系统上的部署大小减少约28 MB 。通常,Linux上的.NET Core依赖ICU库提供全球化支持。在不变模式下,库不包含在您的部署中,并且所有区域性的行为都与不变区域性类似。 将大量独立的.NET Core应用程序部署到系统上会占用大量磁盘空间,因为每个应用程序都复制.NET Core文件。 从.NET Core 2.2开始,可以将应用程序以及所有必需的第三方依赖项部署为FDE。应用将使用目标系统上安装的.NET Core版本。 FDE的优点: 部署包的大小很小。您只部署应用程序及其依赖项,而不部署.NET Core本身。 多个应用程序使用同一.NET Core安装,从而减少了主机系统上的磁盘空间和内存使用。 可以通过调用已发布的可执行文件来运行您的应用程序,而无需 FDE的缺点: 仅当您的应用程序所面向的.NET Core 版本或更高版本已在主机系统上安装时,您的应用程序才能运行。 .NET Core运行时和库可能会在您不了解未来版本的情况下进行更改。在极少数情况下,这可能会改变您应用的行为。 您必须为每个目标平台发布您的应用程序。
仅列出了公共值。 若要获取最新的完整版,请参阅 CoreFX 存储库上的 runtime.json 文件。 仅列出了公共值。 若要获取最新的完整版,请参阅 CoreFX 存储库上的 runtime.json 文件。 运行以下未列出的发行版的设备可能适用于其中一个可移植 RID。 例如,可以将运行未列出的 Linux 发行版的 Raspberry Pi 设备定向为使用 有关详细信息,请参阅 .NET Core 依赖项和要求。 macOS RID 使用较早的“OSX”品牌。 仅列出了公共值。 若要获取最新的完整版,请参阅 CoreFX 存储库上的 runtime.json 文件。 《ASP.NET Core 高性能系列》关于.NET Core的部署方式 标签:for 未来 com x64 面向 技术 forward tps 存储 原文地址:https://www.cnblogs.com/lonelyxmas/p/12239155.html
概述,.NET Core应用程序可以创建三种类型的部署:FDD SCD FDE
dotnet app.dll
运行名为的应用程序app
。
dotnet
直接调用该实用程序(和FDD的主要区别)1.框架依赖的部署(FDD)
2.自包含部署(SCD)
3.依赖框架的可执行文件(FDE)
dotnet
直接调用该实用程序。
发布方式
以上 .NET Core RID 说明
Windows RID
win-x64
win-x86
win-arm
win-arm64
win7-x64
win7-x86
win81-x64
win81-x86
win81-arm
win10-x64
win10-x86
win10-arm
win10-arm64
Linux RID
linux-arm
。
linux-x64
(大多数桌面发行版,如 CentOS、Debian、Fedora、Ubuntu 及派生版本)linux-musl-x64
(使用 musl 的轻量级发行版,如 Alpine Linux)linux-arm
(在 ARM 上运行的 Linux 分发版,如 Raspberry Pi)
rhel-x64
(被 linux-x64
取代,适用于 RHEL 6 以上版本)rhel.6-x64
(.NET Core 2.0 或更高版本)
tizen
tizen.4.0.0
tizen.5.0.0
macOS RID
osx-x64
(最低 OS 版本为 macOS 10.12 Sierra)
osx.10.10-x64
osx.10.11-x64
osx.10.12-x64
osx.10.13-x64
osx.10.14-x64
文章标题:《ASP.NET Core 高性能系列》关于.NET Core的部署方式
文章链接:http://soscw.com/essay/78562.html