# Migrate to ActiveReports 19

This topic provides details that you should consider when migrating to ActiveReports latest version.

## Content



ActiveReports 19 has several major [breaking changes](/activereportsnet/docs/v19.2/developers/breaking-changes), so you should consider this information while migrating to ActiveReports 19.

If you are going to migrate from very old versions of ActiveReports, please see corresponding [User Guides](https://developer.mescius.com/activereportsnet/docs/) or contact our [Support Team](/activereportsnet/docs/v19.2/developers/ar-how-licensing-activereports/licensing-support).

The following steps explain basic step to migrate previous ActiveReports versions to ActiveReports 19.

1.  From the Visual Studio Tools menu, select **Convert to ActiveReports 19**. For more details, see [ActiveReports File Converter](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/activereports-file-converter)<br />You will also need to manually update the references/dependencies. For more details, see [Reference Migration](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/reference-migration).<br />If the license information is not displayed correctly after running the converter, you need to manually update the license information. For more details, see [License ActiveReports](/activereportsnet/docs/v19.2/developers/ar-how-licensing-activereports).<br />
2.  See details below to migrate any of the following versions that contain specific classes or properties:<br /><br />**ActiveReports 1**
    
    If you export to PDF and use the Version property, you need to change the casing in the PdfVersion enumerated values as follows.<br /><br />**Before migration**: PDFVersion.PDF13<br />**After migration**: PdfVersion.Pdf13
    
    If you are using the public variable 'ds' within the report, see **ds Variable**.<br />If you are using the WebViewer control, see [WebViewer Migration](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/web-viewer-migration).<br />If you are using the ActiveX viewer (ARVIEW2.CAB file) in a Web application, see [ActiveX Viewer Migration](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/activex-viewer-migration).
    
    **ActiveReports 2**
    
    If you are using the public variable 'ds' within the report, see ds Variable.<br />If you are using the WebViewer control, see [WebViewer Migration](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/web-viewer-migration).<br />If you are using the ActiveX viewer (ARVIEW2.CAB file) in a Web application, see [ActiveX Viewer Migration](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/activex-viewer-migration).<br /><br />**ActiveReports 3**
    
    If you are using the ActiveReport3 class in your project, you need to change ActiveReport3 class to SectionReport class.<br /><br />**Before migration**: DataDynamics.ActiveReports.ActiveReport3<br />**After migration**: [GrapeCity.ActiveReports.SectionReport](/activereportsnet/api/v19.2/MESCIUS.ActiveReports/GrapeCity.ActiveReports.SectionReport.html)
    
    If you are migrating from an initial version of ActiveReports 3 and use the Barcode control's Style and BackColor properties, then the size of the Barcode control may change on migration. You can set the BackColor property of the Barcode control to White, or manually change the size.<br />
    
    | Property | Value |
    | --- | --- |
    | [Style](/activereportsnet/api/v19.2/MESCIUS.ActiveReports/GrapeCity.ActiveReports.SectionReportModel.Barcode.html#STYLE) | QRCode, Code49, JapanesePostal, Pdf417, EAN128FNC1 (Any of these) |
    | [BackColor](/activereportsnet/api/v19.2/MESCIUS.ActiveReports/GrapeCity.ActiveReports.SectionReportModel.Barcode.html#BACKCOLOR) | System.Drawing.Color.Transparent |
    
    <br />If you are using the public variable 'ds' within the report, see ds Variable.<br />If you are using the WebViewer control, see [WebViewer Migration](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/web-viewer-migration).<br />If you are using the ActiveX viewer (ARVIEW2.CAB file) in a Web application, see [ActiveX Viewer Migration](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/activex-viewer-migration).<br /><br />**From ActiveReports 6 to ActiveReports 19**
    
    If you are using the WebViewer control, see [WebViewer Migration](/activereportsnet/docs/v19.2/developers/activereports-version-compatibility-migration/upgrade-reports-references/web-viewer-migration).
    
3.  Update the package.json file.
4.  From the Build menu, select Rebuild Solution to rebuild the entire solution.<br />Note: Between versions 1 and 18, we have updated several class names and package names. This may cause syntax errors on migration. To resolve these errors, see the [Breaking Changes](/activereportsnet/docs/v19.2/developers/breaking-changes) topic.

### Migrating ds Variable

In ActiveReports 2 or below, when you create a data connection using the **Report Data Source** dialog, a public variable 'ds' is generated automatically by the report designer. This variable is not generated in ActiveReports 3 or above. If you use this variable in your code for making data connection settings of subreport, you need to change the code as follows.

### To migrate code with public variable 'ds'

**Before migration**

```vbnet
Me.ds.ConnectionString
```

```csharp
this.ds.ConnectionString;
```

**After migration**

```vbnet
CType(Me.DataSource, GrapeCity.ActiveReports.Data.OleDBDataSource).ConnectionString
```

```csharp
((GrapeCity.ActiveReports.Data.OleDBDataSource)(this.DataSource)).ConnectionString;
```