本部分总结了何时选择 .NET 8 或 .NET Framework。 我们将在以下部分中提供有关这些选项的更多详细信息。
在以下情况下,将 .NET 8 与 Linux 或 Windows 容器配合使用,用于容器化 Docker 服务器应用程序:
用户有跨平台需求。 例如,你想要同时使用 Linux 和 Windows 容器。
应用程序体系结构基于微服务。
你需要快速启动容器,并且希望每个容器占用少量空间,以便为每个硬件单元实现更好的密度或更多容器,以降低成本。
简言之,创建新的容器化 .NET 应用程序时,应考虑将 .NET 8 视为默认选择。 它有很多好处,最适合容器哲学和工作风格。
使用 .NET 8 的另一个好处是,可以为同一台计算机中的应用程序并行运行 .NET 版本。 对于不使用容器的服务器或 VM,此优势更为重要,因为容器隔离应用所需的 .NET 版本。 (只要它们与基础 OS 兼容。
在以下情况下,对容器化 Docker 服务器应用程序使用 .NET Framework:
应用程序当前使用 .NET Framework,在 Windows 上具有很强的依赖项。
需要使用 .NET 8 不支持的 Windows API。
需要使用不适用于 .NET 8 的第三方 .NET 库或 NuGet 包。
在 Docker 上使用 .NET Framework 可以最大程度地减少部署问题来提高部署体验。 这种 “直接迁移”方案 对于最初使用传统 .NET Framework 开发的旧应用程序(如 ASP.NET WebForms、MVC Web 应用或 WCF(Windows Communication Foundation)服务)容器化非常重要。
其他资源
电子书:使用 Azure 和 Windows 容器实现现有 .NET Framework 应用程序的现代化
https://aka.ms/liftandshiftwithcontainersebook示例应用:使用 Windows 容器实现旧版 ASP.NET Web 应用的现代化
https://aka.ms/eshopmodernizing