With every release of Telerik UI for WPF, we try to avoid introducing changes that affect the public API. However, sometimes such changes are needed for the product to evolve. We understand that this could cause issues when you upgrade your app to the latest Telerik release. That is why we have the Telerik Upgrade API Analyzer; its purpose is to make your upgrade process easier by comparing both versions and determining the problematic areas.
Telerik Upgrade API Analyzer could be used when upgrading your desktop application such as WPF or WinForms as well as your Silverlight or ASP.NET Web application.
In short, the Telerik Upgrade API Analyzer tool will help you with the upgrade of the Telerik controls to a newer version. It thoroughly analyzes the code of your project and provides a list of the changes found between the currently used release and the release you’re planning to upgrade to. Such changes could include obsolete and removed methods and properties as well as modified methods and properties. Additionally, the tool points out the exact piece of code that is affected by a certain change and in cases that involve an obsolete method/property, the tool gives suggestions of how to modify that code.
At this stage of development, Telerik Upgrade API Analyzer checks only the C# code of your application.
Telerik Upgrade API Analyzer is a ClickOnce application and you can download the installation file directly from our site.
The tool relies on Microsoft .NET Framework 4.5.2 and if you haven’t got the framework on your machine, the setup of the tool installs it automatically.
Running the Telerik Upgrade API Analyzer opens the screen shown in Figure 1.
Figure 1: Initial screen of Telerik Upgrade API Analyzer
All you need to do is:
Choose the platform.
Select the current version of Telerik assemblies you are using.
Select the version you would like to upgrade to.
The three comboboxes are populated on the fly depending on your choices, so you should select the desired values consecutively.
Open the solution you’re planning to upgrade.
You can also run the Telerik Upgrade API Analyzer from the Upgrade Project Wizard, by clicking the Compatibility button (see Figure 2). In this case, the tool opens with Technology, Your Version and Version to Upgrade parameters pointed out in the wizard. When Upgrade API Analyzer is started directly through the Compatibility button without installing the tool first, the installation starts automatically. In case .NET Framework 4.5.2 is not present on your machine, the application prompts you to install it manually at the end of the installation.
Figure 2: Compatibility button in Upgrade Project Wizard
The tool starts analyzing the code, as shown in Figure 3, and lists all the changes found between both versions, as demonstrated in Figure 4.
Figure 3: The tool starts analyzing as soon as you open a solution
Figure 4: Upgrade API Analyzer lists the found differences
Upgrade API Analyzer provides a detailed list of the found differences between both versions in a convenient way for reviewing. The tool uses RadGridView for WPF to present the results, so you can benefit from its features such as sorting, filtering and resizing columns.
For each of the changes, you can see the following information:
- Difference: It could be Obsolete, Deleted and Modified.
By default, the Modified changes are not shown as they actually indicate that there is an internal change in the method/class, which does not affect its function as a whole and does not require any action from your side. Still, you could see the Modified changes by updating the Filter of the Difference column as shown in Figure 5.
Figure 5: Displaying all the changes found including the Modified ones.
- Kind: It could be Type, Property, Method, and Field.
- Node: The name of the Type/Property/Method/Field.
- Assembly: The assembly where the change is found.
- Message: Presents a kind of “What to do now?” message; gives additional information on what action should be taken regarding the concrete change in order to make the upgrade flawless.
- Project: The project where the change resides.
- Source: The file in the project where the change is found.
- Line: The exact line in the source file.
- Character: The character in the previously set line.
Additionally, Upgrade API Analyzer provides the option to save the gathered information for a later moment through the Export button in the upper right corner, as shown in Figure 6. The data will be arranged and exported to a HTML document. The exported information include the currently visible (filtered) data in the grid.
Figure 6: API Analyzer provides export to a HTML document
Upgrade API Analyzer is a subject of current and future development and we’d appreciate any feedback you might have regarding the tool. Let us know what you’d expect the tool to do and whether you’ve experienced any issues with it. Your feedback will help us prioritize our plans for adding the most requested features.
Please send us your comments either through the Feedback link inside API Analyzer or directly at UpgradeApiAnalyzer@telerik.com.
Additionally, please review the Frequently Asked Questions section in the API Analyzer Helps Upgrading Telerik Projects blog post.