mirror of https://github.com/abpframework/abp
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							88 lines
						
					
					
						
							4.6 KiB
						
					
					
				
			
		
		
	
	
							88 lines
						
					
					
						
							4.6 KiB
						
					
					
				| # Upgrading the Startup Template
 | |
| 
 | |
| Sometimes we introduce new features/changes that requires to **make changes in the startup template**. We already implement the changes in the startup template for new applications. However, in some cases you need to manually make some minor changes in your existing solution.
 | |
| 
 | |
| This guide explains a suggested way of upgrading your solution templates, using the WinMerge tool.
 | |
| 
 | |
| > See also the [Upgrading document](../Upgrading.md) for an overall progress of upgrading. This document focuses on upgrading the startup template.
 | |
| 
 | |
| ## 1) Create Dummy Solutions
 | |
| 
 | |
| We will create two solutions to compare the changes;
 | |
| 
 | |
| * The first solution is with your existing version
 | |
| * The second solution is the version you want to upgrade
 | |
| 
 | |
| Assume that we are upgrading from the version **4.2.2** to version **4.3.0-rc.1**. First, create two empty folders:
 | |
| 
 | |
| 
 | |
| 
 | |
| **A)** Open a command-line terminal inside the `4_2_2` folder and create a new solution with the version `4.2.2` using the ABP [CLI](../CLI.md) (install it if you haven't installed before).
 | |
| 
 | |
| **Example:**
 | |
| 
 | |
| ````bash
 | |
| abp new MyCompareApp -u blazor -v 4.2.2
 | |
| ````
 | |
| 
 | |
| > Important: You need to create the solution with the exact configuration of your solution. If your application has Angular UI and MongoDB, you should use the same options here.
 | |
| 
 | |
| **B)** Then open a command-line terminal inside the `4_3_0-rc1` folder and create a new solution with the version `4.3.0-rc.1` using the ABP [CLI](../CLI.md).
 | |
| 
 | |
| **Example:**
 | |
| 
 | |
| ````bash
 | |
| abp new MyCompareApp -u blazor -v 4.3.0-rc.1
 | |
| ````
 | |
| 
 | |
| Now, we have the same application with different versions.
 | |
| 
 | |
| ## 2) Upgrade the Old Application
 | |
| 
 | |
| If we compare two folders now, we will see unnecessary differences because of NuGet & NPM package differences. It is better to upgrade the old application to the new version before comparing them.
 | |
| 
 | |
| Open a command-line terminal inside the `4_2_2` folder and type the following command:
 | |
| 
 | |
| ````bash
 | |
| abp update -v 4.3.0-rc.1
 | |
| ````
 | |
| 
 | |
| This will update all NuGet & NPM packages in your solution. We are ready to compare the folders to see the differences.
 | |
| 
 | |
| ## 3) Compare the Folders
 | |
| 
 | |
| We will use the [WinMerge](https://winmerge.org/) utility for the comparison. So, please install it if it wasn't installed before. After installation, open the WinMerge application, select the the *File > Open* menu item, select the folders you want to compare:
 | |
| 
 | |
| 
 | |
| 
 | |
| Now, we can click to the *Compare* button to see all the differences. Here, a screenshot from the comparison:
 | |
| 
 | |
| 
 | |
| 
 | |
| See the *Comparison result* column or the yellow coloring to understand if two files or folder are different. It shows almost all folders are different. However, don't worry. Generally a few files will be different in a folder and a few lines will be different in a file comparison.
 | |
| 
 | |
| For example, I select the `MyCompareApp.Blazor.csproj` to understand what's changed in this file:
 | |
| 
 | |
| 
 | |
| 
 | |
| We see that;
 | |
| 
 | |
| * `Blazorise.Bootstrap` package is upgraded from version `0.9.3-preview6` to version `0.9.3.3`.
 | |
| * `Blazorise.Icons.FontAwesome` package is upgraded from version `0.9.3-preview6` to version `0.9.3.3`.
 | |
| * `Volo.Abp.Identity.Blazor` package is replaced by `Volo.Abp.Identity.Blazor.WebAssembly`.
 | |
| * `Volo.Abp.TenantManagement.Blazor` package is replaced by `Volo.Abp.TenantManagement.Blazor.WebAssembly`.
 | |
| * `Volo.Abp.SettingManagement.Blazor.WebAssembly` package is newly added.
 | |
| 
 | |
| In this way, we can understand all the changes.
 | |
| 
 | |
| ## 4) Apply Changes on Your Solution
 | |
| 
 | |
| Comparison result clearly shows the necessary changes should be done on upgrade. All you need to do is to apply the same changes in your own solution.
 | |
| 
 | |
| > **It is important you first upgrade your own solution to the new version, using the `abp update` command. Then you can apply the manual changes**
 | |
| 
 | |
| ## Notes
 | |
| 
 | |
| * Sometimes, you may find some changes are unnecessary for your own solution. You may deleted these or already customized. In these cases, you can just ignore it.
 | |
| * If you do not upgrade your solution as described in this document, your application will continue to work as long as you implement the breaking changes documented in the [migration guide](Index.md). However, you may not get benefit of some new features those require changes in your solution files.
 | |
| * Most of the times, there will be a few or no differences on the startup templates. When there are  important changes, we write a note to the related migration guide, so you apply them manually. |