.NET 和 .NET Core 之间的区别
.NET Core 与 .NET
您应该为下一个应用程序选择什么 – .NET Framework 还是 .NET Core?在本文中,让我们比较这两个平台,看看我们是否可以得出结论。

.NET 框架优势
如果您是 .NET 开发人员,需要快速构建和发布一些东西,而您又没有时间学习 .NET Core,那么 .NET Framework 是您的选择。.NET Core 确实有一个学习曲线。
如果您要维护和升级现有的 .NET 应用程序,.NET Framework 是您的选择。将现有 .NET 应用程序移植到 .NET Core 应用程序需要一些工作。
找工作?您现在可能不会在 .NET Core 中找到太多工作。
.NET Framework 就是这样。.NET Framework 的当前版本 4.8 应该是 .NET Framework 的最后一个版本。将来不会再有新版本的 .NET Framework 计划。
.NET Core优势
如果您正在构建新应用程序并在 .NET Core 和 .NET Framework 之间做出选择,那么 .NET Core 是您的最佳选择。
Microsoft 刚刚发布了 .NET Core v 3.0,这是 .NET Core 的大幅改进版本。如果您想为未来学习和构建,.NET Core 是您的不二之选。
.NET 3.0 现在支持 WPF 和 Windows 窗体。.NET Core 3.0 还支持 UWP、WPF 和 Windows Forms 之间的交叉开发。这为开发人员提供了将 UWP 的现代界面引入 Windows 窗体和 WPF 的灵活性。
如果你正在构建一个新的应用程序并且你的公司已经批准了它,.NET Core 是正确的选择。.NET Core 将继续变得越来越好。
.NET Core 更适合跨平台需求。.NET Core 应用程序在 Windows、Linux 和 macOS 上受支持。Windows、Linux 和 macOS 支持 Microsoft 流行的开源代码编辑器 Visual Studio Code。VS Code 支持代码编辑器的现代需求,包括 IntelliSense 和调试。大多数第三方编辑器,例如 Sublime、Emacs 和 VI,都使用 .NET Core。
.NET Core 支持微服务架构,它允许跨平台服务与 .NET Core 一起使用,包括使用 .NET Framework、Java、Ruby 或其他开发的服务。
容器是今天的虚拟机。.NET Core 的模块化、轻量级和灵活性使得在容器中部署 .NET Core 应用程序变得更加容易。容器可以部署在任何平台、云、Linux 和 Windows 上。.NET Core 适用于 Docker 和 Azure Kubernetes 服务。
需要高性能和可扩展的系统。
开发 .NET Core 时,性能和可扩展性是两个主要的重点领域。根据一些基准测试,.NET Core 和 ASP.NET Core 是性能最好的 Web 框架。
.NET Core 版本可以很好地协同工作。您可以轻松地在同一台机器上并排运行多个版本和应用程序。
C#的力量
C# 是最通用的编程语言,它每隔几个月就会发生变化。这些语言的每个小版本都引入了一些很酷的现代功能。当前版本的 C# 8.0 和 C# 9.0 引入了几个新功能,使程序员的生活更轻松。该语言旨在编写干净、更快和现代的代码。该语言旨在提高生产力。查看C# 8 功能和 深入 了解C# 9以了解有关这些功能的更多信息。
================ 上一版本 ========================
.NET 生态系统
让我们回顾一下截至今天的以下 .NET 生态系统架构图。

Xamarin根本不是辩论。当你想要使用 C# 构建移动(iOS、Android 和 Windows Mobile)应用程序时,Xamarin 是你唯一的选择。
.NET Framework
支持 Windows 和 Web 应用程序。现在,您可以使用 Windows 窗体、WPF 和 UWP 在 .NET Framework 中构建 Windows 应用程序。ASP.NET MVC 用于在 .NET Framework 中构建 Web 应用程序。
.NET Core
是新的开源和跨平台框架,用于为所有操作系统(包括 Windows、Mac 和 Linux)构建应用程序。.NET Core 仅支持 UWP 和 ASP.NET Core。UWP 用于构建面向 Windows 和移动应用程序的 Windows 10。ASP.NET Core 用于构建基于浏览器的 Web 应用程序。
那么,在 .NET Core 和 .NET 之间选择什么?
如果您今天必须在 .NET Framework 和 .NET Core 之间做出选择,以下是标准。请记住,在一年左右的时间里,您可能根本不想选择 .NET Framework。
截至今日:
如果您符合以下条件,.NET Framework是更好的选择:
- 没有时间学习新技术。
- 需要一个稳定的工作环境。
- 有更近的发布时间表。
- 我们已经在开发现有的应用程序并扩展其功能。
- 已经拥有一支拥有 .NET 专业知识和构建生产就绪软件的现有团队。
- 不想处理不断的升级和变化。
- 使用 Windows 窗体或 WPF 构建 Windows 客户端应用程序
如果您符合以下条件,.NET Core是更好的选择:
- 想要在 Windows、Linux 和 Mac 操作系统上定位您的应用程序。
- 不怕学习新东西。
- 不要害怕破坏和修复东西,因为 .NET Core 还没有完全成熟。
- 一个刚刚学习 .NET 的学生。
- 喜欢开源。
下表可以帮助您做出决定。
一个没有 UI 的高性能和可扩展系统 | .NET Core 快得多。 |
Docker 容器支持 | 两者都有,但 .NET Core 天生就存在于容器中。 |
严重依赖命令行 | .NET Core 有更好的支持。 |
跨平台需求 | .NET Core |
使用微服务 | 两者都有,但 .NET Core 旨在牢记当今的需求。 |
以用户界面为中心的 Web 应用程序 | .NET Framework 现在更好,直到 .NET Core 迎头赶上。 |
使用 Windows 窗体和 WPF 的 Windows 客户端应用程序 |
.NET 框架
|
已经有预配置的环境和系统 | .NET 框架更好。 |
立即需要构建和部署的稳定版本 | .NET Framework 于 2001 年问世。.NET Core 只是一个婴儿。 |
现有经验丰富的.NET团队 | .NET Core 有一个学习曲线。 |
时间不是问题。实验是可以接受的。不急于部署。 | .NET Core 是 .NET 的未来。 |
.NET 的未来
微软刚刚宣布了 .NET 5,它将在 2020 年推出。.NET 5 将取代 .NET Core,是 .NET Framework 和 .NET Core 的未来。.NET 5 将不支持 ASP.NET Web 窗体、WCF 或 WWF。UWP 在未来也不会发挥重要作用。阅读此处以了解有关 .NET 未来的更多信息。
.NET 的未来是什么
将 .NET 应用程序移植到 .NET Core
这是一个文档,解释了将 .NET 框架应用程序移植到 .NET Core 的过程。
https://docs.microsoft.com/en-us/dotnet/articles/core/porting/index
将 ASP.NET 迁移到 ASP.NET Core
这是将 ASP.NET 迁移到 ASP.NET Core 的参考文档。
https://docs.microsoft.com/en-us/aspnet/core/migration/proper-to-2x/?view=aspnetcore-3.1
注意:并非所有 .NET 框架应用程序都可以移植到 .NET Core。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!