将。net Framework Windows Forms桌面应用程序升级到。net 8

本文介绍了如何使用升级助手将Windows Forms桌面应用程序升级到。net 8。即使Windows Forms运行在。net(一种跨平台技术)上,Windows Forms仍然是一个仅限Windows的框架。以下与Windows窗体相关的项目类型可以使用。net升级助手进行升级:

  • Windows窗体项目
  • 控制库
  • net库

先决条件

首先升级依赖项

如果您要升级多个项目,请从没有依赖项的项目开始。在匹配游戏示例中,MatchingGame项目依赖于MatchingGame。逻辑库,所以MatchingGame。首先要升级逻辑。

提示

确保有代码的备份,例如在源代码控制或副本中。

使用以下步骤在Visual Studio中升级项目:

  1. 右键单击MatchingGame。“解决方案资源管理器”窗口中的逻辑项目,然后选择“升级”:

    A screenshot of the .NET Upgrade Assistant's Upgrade menu item in Visual Studio.

    将打开一个新选项卡,提示您选择要执行的升级类型。

  2. 选择将项目升级到较新的. net版本。

    A screenshot of the .NET Upgrade Assistant tab. The 'Upgrade project to a newer .NET version' option is highlighted.

  3. 选择就地项目升级。

    A screenshot of the .NET Upgrade Assistant tab. The 'In-place project upgrade' option is highlighted.

  4. 接下来,选择目标框架。根据你要升级的项目类型,你会有不同的选择。net标准2.0可以被。net框架和。net使用。如果库不依赖于Windows Forms之类的桌面技术,这是一个不错的选择。然而,最新的。net版本在。net标准上提供了许多语言和编译器的改进。

    选择。net 8.0,然后选择Next。

    A screenshot of the .NET Upgrade Assistant. The target framework ptompt is open and .NET 8 is highlighted along with the 'Next' button.

  5. 树状图显示了与项目相关的所有工件,例如代码文件和库。您可以升级单个工件或整个项目,这是默认的。选择“Upgrade selection”开始升级。

  6. 升级完成后,界面显示如下结果:

    A screenshot of the .NET Upgrade Assistant's upgrade results tab, showing the migrated items from the project.

    带有实心绿色圆圈的神器将被升级,而空的绿色圆圈将被跳过。跳过的工件意味着升级助手没有找到任何要升级的东西。

既然应用程序的支持库已经升级,那么就升级主应用程序。

升级主体工程

一旦所有的支持库都升级了,主应用项目就可以升级了。对于示例应用程序,只有一个库项目需要升级,该项目在前一节中已经升级。

  1. 在解决方案资源管理器窗口中右键单击MatchingGame项目并选择Upgrade:
  2. 选择将项目升级到较新的. net版本。
  3. 选择就地项目升级作为升级方式。
  4. 为目标框架选择。net 8.0并选择Next。
  5. 保留选中的所有工件,并选择Upgrade selection。

升级完成后,显示升级结果。注意Windows窗体项目有一个警告符号。展开该项,将显示有关该步骤的更多信息:

A screenshot of the .NET Upgrade Assistant's upgrade results tab, showing some of the result items have warning symbols.

注意,项目升级组件提到默认字体已更改。因为字体可能会影响控件布局,所以您需要检查项目中的每个表单和自定义控件,以确保UI的正确布局。

生成干净的构建

升级主项目后,清理并编译它。

  1. 右键单击解决方案资源管理器窗口中的MatchingGame项目,然后选择Clean。
  2. 在解决方案资源管理器窗口中右键单击MatchingGame项目并选择Build。

如果您的应用程序遇到任何错误,您可以在“错误列表”窗口中找到它们,并提供如何修复它们的建议。

Windows窗体匹配游戏样本项目现在升级到。net 8。

  • 从。net框架移植到。net。

    移植指南概述了将代码从。net框架移植到。net时应该考虑的事项。项目的复杂性决定了在项目文件的初始迁移之后需要做多少工作。

  • 从。net框架升级到。net后实现现代化。

    自从。net框架问世以来,。net的世界已经发生了很大的变化。这个链接提供了一些关于如何在升级应用程序后使其现代化的信息。