本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
重构为现代。 NET然后迁移到 Linux
概述
对遗产进行现代化改造。 NET框架应用程序可以帮助您提高安全性、性能和可扩展性。实现现代化的有效方法。 NET框架应用程序是将它们迁移到现代的。 NET版本 (6+)。以下是将这些应用程序迁移到开源的一些主要好处。 NET:
-
通过在 Linux 操作系统上运行 Windows 来降低许可成本
-
充分利用现代语言的可用性
-
获得经过优化的性能,可在 Linux 上运行
许多组织仍在运行旧版本的。 NET框架。这可能会带来安全风险,因为Microsoft不再解决旧版本中的漏洞。Microsoft 已终止对最新版本的支持。 NET框架 4.5.2、4.6 和 4.6.1。评估继续运行旧版本框架的风险和收益非常重要。为了降低风险和降低成本,值得花时间和精力重构到的现代版本。 NET。
成本影响
以通用EC2实例类型 (m5) 为例,它提供了计算、内存和网络资源的平衡。这些实例适用于各种应用程序,例如 Web 服务器、中型数据库和源代码存储库。
例如,美国东部(弗吉尼亚北部)的 Windows Server(含许可证)上内存为 4 vCPUs 和 16 GB 的按需 m5.xlarge 实例每月花费 274.48 美元。在 Linux 服务器上使用同样的资源每月花费 140.16 美元。在此示例中,当您从中迁移应用程序时,成本降低了49%。 NET框架改为现代版本。 NET然后在 Linux 服务器上运行您的应用程序。您的费用可能会有所不同,具体取决于您在选择实例时选择的选项(例如,实例类型、操作系统、存储)。EC2
移植这些。 NET框架应用程序到现代。 NET需要开发人员的努力。您必须评估您的应用程序及其依赖关系,以查看它们是否与目标平台版本兼容。AWS 的@@ 移植助手。 NET
还有其他工具,例如用于的AWS 工具包。 NET重构和. NET升级助手
成本优化建议
要迁移。 NET框架应用程序,请执行以下操作:
-
先决条件-要使用移植助手。 NET,你必须安装。 NET在您计划分析应用程序源代码的计算机上 5+。计算机上的资源必须至少具有 1.8 的GHz处理速度、4 GB 的内存和 5 Gb 的存储空间。有关更多信息,请参阅移植助手中的先决条件。 NET文档。
-
评估 —下载移植助手. NET作为可执行
(下载)文件。您可以将该工具下载并安装到您的计算机上,以开始评估您的应用程序。评估页面包含移植的项目、软件包APIs,这些项目和包与现代版本不兼容。 NET。因此,评估结束后,解决方案中会出现构建错误。您可以查看评估结果或将其下载到CSV文件中。有关更多信息,请参阅 “移植助手” 中的移植解决方案。 NET文档。 -
重构 — 评估应用程序后,您可以将项目移植到目标框架版本。移植解决方案时,移植助手将修改您的项目文件和部分代码。您可以查看日志,查看源代码的更改。在大多数情况下,代码需要付出额外的努力才能完成迁移和测试,从而为生产做好准备。根据应用程序的不同,某些更改可能包括实体框架、身份和身份验证。有关更多信息,请参阅 “移植助手” 中的移植解决方案。 NET文档。
这是将应用程序现代化为容器的第一步。可能有许多业务和技术驱动因素可以帮助您实现现代化。 NETLinux 容器的框架应用程序。其中一个重要的驱动因素是通过从 Windows 操作系统迁移到 Linux 来降低总拥有成本。在将应用程序迁移到的跨平台版本时,这可以降低许可成本。 NET以及用于优化资源利用率的容器。
将应用程序移植到 Linux 后,您可以使用AWS App2Container
其他注意事项和资源
-
如果您有基于 VB 构建的应用程序。 NET(2002 年的遗留框架),并希望将它们移植到。 NET6、参见 Port legacy VB。 NET申请到。 NET6.0 带有 “移植助手” 的功能。 NET
在 Microsoft 工作负载 AWS 博客上发帖。 -
如果你在 Windows Communication Foundation (WCF) 上有旧版应用程序,并且想在现代版上运行它们。 NET,你可以采用酷睿WCF。有关更多信息,请参阅WCF使用移植助手将旧版WCF应用程序现代化为核心版。 NET
在 Microsoft 工作负载 AWS 博客上发帖。 -
您可以将移植助手作为扩展添加到 Visual Studio 中IDE。这使您能够执行转换代码所需的所有任务,而无需在您的IDE和移植助手之间切换。 NET工具。有关更多信息,请参阅加速。 NET使用移植助手实现应用程序现代化。 NET微软工作负载 AWS 博客上的 Visual Studio IDE 扩展
帖子。 -
AWS 的@@ 移植助手。 NET现在是开源工具
,包含评估的源代码和兼容性分析组件。这可以鼓励您的开发者使用和共享。 NET移植知识和最佳实践。 -
你可以移植。 NET框架应用程序到现代。 NET在 Linux 上,使用 AWS 工具包适用于。 NET重构。有关更多信息,请参阅加速。 NET使用 AWS Toolkit 实现现代化。 NET在 Microsoft 工作负载博客上重构
帖子。 AWS