项目

升级启动模板

有时我们会引入新的功能/变更,这些功能/变更需要对启动模板进行修改。我们已经为新应用程序在启动模板中实现了这些变更。然而,在某些情况下,您需要手动对现有解决方案进行一些细微的修改。

本指南介绍了一种使用 WinMerge 工具来升级解决方案模板的建议方法。

另请参阅升级文档了解升级的整体流程。本文档重点介绍启动模板的升级。

1) 创建虚拟解决方案

我们将创建两个解决方案进行比较;

  • 第一个解决方案是您现有的版本
  • 第二个解决方案是您想要升级到的版本

假设我们从版本 4.2.2 升级到版本 4.3.0-rc.1。首先,创建两个空文件夹:

upgrade-diff-empty-folders

A)4_2_2 文件夹内打开命令行终端,并使用 ABP CLI(如果尚未安装,请先安装)创建版本为 4.2.2 的新解决方案。

示例:

abp new MyCompareApp -u blazor -v 4.2.2

重要:您需要使用与您的解决方案完全相同的配置来创建此解决方案。如果您的应用程序使用 Angular UI 和 MongoDB,您应该在此处使用相同的选项。

B) 然后在 4_3_0-rc1 文件夹内打开命令行终端,并使用 ABP CLI 创建版本为 4.3.0-rc.1 的新解决方案。

示例:

abp new MyCompareApp -u blazor -v 4.3.0-rc.1

现在,我们拥有了相同应用程序的不同版本。

2) 升级旧应用程序

如果我们现在比较这两个文件夹,由于 NuGet 和 NPM 包的差异,将会看到一些不必要的差异。最好在比较之前将旧应用程序升级到新版本。

4_2_2 文件夹内打开命令行终端,输入以下命令:

abp update -v 4.3.0-rc.1

这将更新您解决方案中的所有 NuGet 和 NPM 包。现在我们可以比较文件夹以查看差异了。

3) 比较文件夹

我们将使用 WinMerge 工具进行比较。因此,如果尚未安装,请先安装它。安装后,打开 WinMerge 应用程序,选择 文件 > 打开 菜单项,选择要比较的文件夹:

winmerge-open-folders

现在,我们可以点击 比较 按钮查看所有差异。下面是比较结果的截图:

winmerge-comparison-result

查看 比较结果 列或黄色高亮显示,以了解两个文件或文件夹是否不同。它显示几乎所有文件夹都不同。但是,不用担心。通常一个文件夹中只有少数文件不同,文件比较中也只有少数行不同。

例如,我选择 MyCompareApp.Blazor.csproj 来了解此文件的更改内容:

winmerge-file-diff

我们看到:

  • Blazorise.Bootstrap 包从版本 0.9.3-preview6 升级到 0.9.3.3
  • Blazorise.Icons.FontAwesome 包从版本 0.9.3-preview6 升级到 0.9.3.3
  • Volo.Abp.Identity.Blazor 包被替换为 Volo.Abp.Identity.Blazor.WebAssembly
  • Volo.Abp.TenantManagement.Blazor 包被替换为 Volo.Abp.TenantManagement.Blazor.WebAssembly
  • 新添加了 Volo.Abp.SettingManagement.Blazor.WebAssembly 包。

通过这种方式,我们可以理解所有的变更。

4) 在您的解决方案中应用变更

比较结果清楚地显示了升级所需进行的必要更改。您需要做的就是在自己的解决方案中应用相同的更改。

重要的是,您首先需要使用 abp update 命令将自己的解决方案升级到新版本。然后再手动应用这些变更。

注意事项

  • 有时,您可能会发现某些更改对于您自己的解决方案来说是不必要的。您可能已经删除了这些内容或已进行了自定义。在这些情况下,您可以忽略它们。
  • 如果您不按照本文档所述的方式升级解决方案,只要您实现了 迁移指南 中记录的破坏性变更,您的应用程序将继续工作。但是,您可能无法获得某些需要修改解决方案文件的新功能带来的好处。
  • 大多数情况下,启动模板的差异会很少或没有差异。当有重要变更时,我们会在相关的迁移指南中注明,以便您手动应用它们。
在本文档中