65.9K
CodeProject 正在变化。 阅读更多。
Home

我们为什么需要从 .NET 5.0 迁移到 .NET 6.0

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.62/5 (8投票s)

2022 年 5 月 23 日

CPOL

5分钟阅读

viewsIcon

19795

我们为什么要将现有项目从 .NET 5.0 迁移到 .NET 6.0?

引言

2022 年 3 月,微软宣布自 2022 年 5 月 10 日起,微软将停止所有支持,其中包括 **安全支持** 和 **技术支持**。 请查看此文章 以获取微软官方公告的更多详细信息。

微软还在上述博客中指出,现有用户仍然可以在其当前项目中使用 .NET 5.0,但同时,如果用户需要任何安全支持或技术支持,那么在 2022 年 5 月 10 日之后将不再可能。

我们需要迁移还是开始使用 .NET 6.0?

是的,我们需要从 .NET 5.0 迁移到 .NET 6.0。

我之所以推荐这样做,主要原因是除了技术支持外,微软还将停止对 .NET 5.0 的安全支持。安全支持比技术支持更重要,因为将来,如果我们发现 .NET 5.0 中存在任何漏洞,微软将无法提供任何安全问题的支持。考虑到安全和技术支持,最好并建议将我们当前的项目从 .NET 5.0 项目迁移到 .NET 6.0,并使用 .NET 6.0 创建我们所有的未来项目。

在本文中,我们将通过安装 Visual Studio 2022 详细介绍如何开始使用 .NET 6.0。

如果您想了解如何将现有项目从 .NET 5.0 迁移到 .NET 6.0,请参阅以下链接:

背景

必备组件

  • Visual Studio 2022

Visual Studio 2022

如果您尚未安装 Visual Studio 2022,则可以从 此链接 下载 Visual Studio 2022 并将其安装在您的计算机上。

下载并安装 Visual Studio 2022。

注意:社区版对所有人免费,如果您没有安装密钥,可以下载社区版。如果您有安装密钥或拥有 MSDN 订阅,则可以下载专业版或企业版。

作为微软 MVP,我拥有 MSDN 订阅,并已安装了专业版。

开始使用 .NET 6.0

.NET 6.0 比 .NET 5.0 拥有更多的优势。由于 .NET 6.0 在性能方面有更多改进,其中一项主要优势是它具有智能代码编辑功能,并且被称为最快的全栈 Web 框架。 .NET 6.0 在文件流方面也提供了更好的性能。

我们将通过演示如何在 .NET 6.0 中创建控制台应用程序,以及 .NET 6.0 控制台应用程序的优势(通过智能代码编辑的示例)来进行介绍。

Using the Code

创建 .NET 6.0 控制台应用程序

在安装完上述所有必需组件并在桌面双击 **开始** >> **所有程序** >> **Visual Studio 2022** >> **Visual Studio 2022** 后,请点击 **新建** >> **项目**。

点击 **控制台应用**,然后点击 **下一步**。

输入您的项目名称并点击 下一步

现在我们可以看到框架是 .NET 6.0 (长期支持)。点击 **创建** 按钮来创建我们的第一个 .NET 6.0 控制台应用程序。

当我们创建新的控制台应用程序时,可以在我们的 *program.cs* 文件中看到非常简单的代码。

.NET 5.0 及之前的 .NET 版本

在 .NET 5.0 及之前的版本中,对于任何控制台应用程序,我们可以看到 main 方法、类、命名空间和 using 头文件。如果没有以下任何代码,程序将无法执行。

.NET 6.0 控制台应用程序

我们可以看到,在 *program.cs* 文件中没有 main 方法、类和 using 头,不用惊慌,是的,现在在 .NET 6.0 中,代码变得更简单,智能代码支持似乎更先进,现在更容易且可以减少编写代码和项目的时间。

顶级语句

这被称为顶级语句,因为从 C#9 开始不再需要 `main` 方法。顶级语句的主要目标是减少代码并提高性能。编译器将创建 main 方法和类,因为我们不需要为它们编写单独的代码。

自 C# 9.0 引入顶级语句以来,现在编程变得更加容易,也更容易学习 C#。是的,现在它看起来像 Small Basic 编程,让程序员更容易上手并编写代码。

当我们运行程序或在应用程序中按 **F5** 键时,我们可以看到 .NET 6.0 即使缺少 main 方法也能正常运行。

.NET 6.0 智能代码编辑

在同一个应用程序中,我将添加代码来获取姓名并在命令提示符中显示姓名。

为此,我声明了一个 `string` 类型的变量 `myname`,并使用 `Console.ReadLine()` 方法来获取用户输入并显示结果。

您可以看到,当我输入 Console 并按 **Tab** 键时,代码会自动生成,并且智能代码会自动添加 `string` 类型的 `myname` 进行显示。

这减轻了编码员的工作量 😊,同时也乐于使用智能代码编辑,因为它也很有趣。

当我们运行程序并在命令提示符中输入姓名并按 **Enter** 键后,我们可以看到如下结果:

.NET 6.0 中使用简单方法

在这里,我们将看到两种在 .NET 6.0 中创建函数的方法,第一种方法对于所有单行语句,使用 `=>` 代码的格式更容易遵循;对于所有多行语句,我们可以使用 `{}` 花括号,就像我们之前做的那样。

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Console.Write("Enter Your Name My Friend");
String myname=Console.ReadLine(); 
displaymyname();
mynamesdisplay(); 
void displaymyname() => Console.WriteLine("Welcome " + myname + " to .NET 6 World");
void mynamesdisplay()
{
    Console.WriteLine("Welcome " + myname + " to .NET 6 World");
}

当我们运行应用程序并输入姓名时,我们可以看到两种方法都被调用并显示了结果。

关注点

希望这篇文章能帮助您理解为什么要迁移或开始使用 .NET 6.0。我还解释了 .NET 6.0 的基本重要性和一些优势。正如我在本文中所提到的,主要出于安全更新和考虑,我们需要从 .NET 5.0 迁移到 .NET 6.0。

历史

  • 2022 年 5 月 23 日:版本 1.0
© . All rights reserved.