ActiveReports 18 .NET Edition
Developers / Breaking Changes
In This Topic
    Breaking Changes
    In This Topic

    Breaking changes from ActiveReports 17 to ActiveReports 18

    Moved Visual SQL Query Designer (VQD) to a new assembly

    The GrapeCity.ActiveReports.Design.QueryDesignerImpl class was moved from the GrapeCity.ActiveReports.Design.Win assembly to the GrapeCity.ActiveReports.QueryDesigner.Implementation namespace in the newly created MESCIUS.ActiveReports.QueryDesigner assembly.

    Removed data source dialog automatic launch

    In ActiveReports 17, the LaunchDataSourceWizard flag was added. A customer used this flag to enable or disable the automatic launch of the data source dialog when creating a report.

    In ActiveReports 18, the new Report Wizard has been implemented to combine the report creation dialog with the report data binding steps. The LaunchDataSourceWizard setting has become unnecessary and is now simply ignored.

    Copy Code
        <appSettings>
            <add key="LaunchDataSourceWizard" value="true"/>
        </appSettings>
    

     

    Removed RDL report type from the WinForms and Web Designers

    The legacy RDL was removed, and RDL Multi-Section was renamed to RDLX. The RDL report type is no longer available for new reports in ActiveReports 18. RDL reports, created in the previous versions of ActiveReports, are automatically converted to the RDLX format when opened in the Designer.

    The GrapeCity.ActiveReports.Design.DesignerReportType.Rdl enum is now Obsolete.

    We recommend that you postpone upgrade and contact our Support Team in case backward compatibility with old AR versions is required.

    Calendar Sample Changes

    The Calendar sample is undergoing a number of changes related to the public API of the sample controls.

    If you are unable to assemble the sample, contact our Support Team.

    Section Report design-time related support

    TypeConverters, related to section report, have been hidden.

    If you encounter problems with using these TypeConverters in your project, contact our Support Team.

    Transition from GrapeCity to MESCIUS

    GrapeCity and Gcef in all ActiveReports packages names have been changed to MESCIUS.

    To manage this transition and update the packages, you can use the ActiveReports File Converter or perform the update manually by following the reference migration steps.

    .NET 8 in all Windows Forms and Web Samples
    All Windows Forms and Web Samples have been retargeted to .NET 8.
    DataProvidersFactory class is moved to GrapeCity.ActiveReports.Rendering.Data

    The DataProvidersFactory class is moved from the DataProviders assembly to the GrapeCity.ActiveReports.Rendering.Data namespace in the MESCIUS.ActiveReports.Core.Rendering assembly

    CommonDbConnectionAdapter class is moved to GrapeCity.ActiveReports.ReportsCore.Data
    The CommonDbConnectionAdapter class is moved from the DataProviders assembly to the ActiveReports assembly in the GrapeCity.ActiveReports.ReportsCore.Data namespace.
    System.Data.SqlClient is replaced with Microsoft.Data.SqlClient for .NET Core/.NET Standard assemblies versions
    The dependency for .NET Standard assemblies versions of the AR.Core has been changed. Now Microsoft.Data.SqlClient is used for the MSSQL data provider by default. This change affects users, developing .NET Core applications with SQL connections, and does not require any special migration steps. For details, see Troubleshooting.

    Breaking changes from ActiveReports 16 to ActiveReports 17

    Watermark settings changes

    The watermark group of settings has been removed from PdfExportOptions.PdfReExclusiveOptions class. To set a watermark, you should use the Watermark property in the PdfExportOptions class instead.

    Removed GrapeCity.ActiveReports.Document assembly and NuGet package

    GrapeCity.ActiveReports.Document assembly and NuGet package are merged with GrapeCity.ActiveReports assembly and NuGet package.

    WebDesigner API changes

    The WebDesigner Settings API is now updated for simplified mutable settings definition as shown:

    Old API
    Copy Code
    designerCore.init({
      /* < ... > */
      mutableAppSettings: ['units', 'fonts'],
    });
    
    New API
    Copy Code
    designerCore.init({
      /* < ... > */
      mutableAppSettings: {
        fonts: true;
        userPreferences: {
          units: true;
        }
      },
    });
    

    Removed dependency on System.Drawing (GDI+)

    We have removed dependency on System.Drawing from our code for functionalities such as image handling, text measuring, printing, etc.

    For example, API dependencies such as:
    System.Drawing.Font and System.Drawing.Image in Section report have been removed from System.Drawing.Common.
    GDI references from GrapeCity.ActiveReports.Document.SectionReport, GrapeCity.ActiveReports.Document.SectionDocument, and GrapeCity.ActiveReports.Document.PageDocument classes have been removed.
    See System.Drawing.Common only supported on Windows. This makes the Section reports engine run under Linux independent of libgdiplus library. You may need to make some changes in the code and scripts for the applications to work. All API changes are listed next.

    API Changes
                  

    GrapeCity.ActiveReports.SpreadBuilder.dll changes                       

    • Class GrapeCity.SpreadBuilder.Printing.PageSetup
      old property: public System.Drawing.Printing.PaperKind PaperSize
      new property: public GrapeCity.SpreadBuilder.Printing.PaperKind PaperSize
    • Class GrapeCity.SpreadBuilder.DDSheet
      Removed obsolete methods:
      • public void AddImage(System.Drawing.Image img, ImageInfo imageOptions,
              System.Drawing.Color lineColor, System.Drawing.Color backColor,
              short colL, short dxL, short rwT, short dyT,
              short colR, short dxR, short rwB, short dyB,
              string hyperlink)
      • public void AddImage(System.Drawing.Image img, ImageInfo imageOptions,
              System.Drawing.Color lineColor, System.Drawing.Color backColor,
              int columnLeft, short dxL, int rowTop, short dyT,
              int columnRight, short dxR, int rowBottom, short dyB,
             string hyperlink)
      • public void AddImage(byte[] imageData, bool isMetafile, SizeF sizeInInches, ImageInfo imageOptions,
              System.Drawing.Color lineColor, System.Drawing.Color backColor,
              int columnLeft, short dxL, int rowTop, short dyT,
              int columnRight, short dxR, int rowBottom, short dyB,
              string hyperlink)

    Added new method:

    • public void AddImage(byte[] imageData, ImageInfo imageOptions,
             System.Drawing.Color lineColor, System.Drawing.Color backColor,
             int columnLeft, short dxL, int rowTop, short dyT,
             int columnRight, short dxR, int rowBottom, short dyB,
             string hyperlink)
    • Class GrapeCity.SpreadBuilder.Workbook
      • Removed old default constructor
      • Added new constructor:
          /// <param name="measureString">Function to measure string in case of auto-height row behavior.
          /// Parameters: string, font, fontsize, maxwidth.</param>
          public Workbook(Func<string, StringMeasurementParams, SizeF> measureString = null)                 

     

    GrapeCity.ActiveReports.Chart.dll changes

    • Class GrapeCity.ActiveReports.Chart.BackdropItem
        
      • old constructor: public BackdropItem(System.Drawing.Image picture, PicturePutStyle pictureAlignment)
        new constructor: public BackdropItem(GrapeCity.ActiveReports.Chart.Drawing.Image picture, PicturePutStyle pictureAlignment)
      • old constructor: public BackdropItem(System.Drawing.Image picture, PicturePutStyle pictureAlignment, AntiAliasMode antiAliasMode)
        new constructor: public BackdropItem(GrapeCity.ActiveReports.Chart.Drawing.Image picture, PicturePutStyle pictureAlignment, AntiAliasMode antiAliasMode)
    • Class GrapeCity.ActiveReports.Chart.FontInfo
      • old property:   public System.Drawing.Font
        new property: public GrapeCity.ActiveReports.Chart.Drawing.Font Font
      • old constructor:    public FontInfo(Color color, System.Drawing.Font font, float angle)
        new  constructor: public FontInfo(Color color, GrapeCity.ActiveReports.Chart.Drawing.Font font, float angle)
      • old constructor:    public FontInfo(Color color, System.Drawing.Font font)
        new constructor:  public FontInfo(Color color, GrapeCity.ActiveReports.Chart.Drawing.Font font)                 
    • old property:   public IDictionary<string, System.Drawing.Font> Fonts
      new property: public IDictionary<string, GrapeCity.ActiveReports.Chart.Drawing.Font> Fonts 
    • Class GrapeCity.ActiveReports.Chart.SharpGraphCore
      Removed methods:
      • public DrawContent(System.Drawing.Graphics graphics, Rectangle rectangle)
      • public HitTest HitTest(int x, int y)
    • Class GrapeCity.ActiveReports.Chart.Graphics.Backdrop
      • old property:    public System.Drawing.Image Picture
        new  property: public GrapeCity.ActiveReports.Chart.Drawing.Image Picture
      • old property: public System.Drawing.HatchStyle Pattern
        new property: public GrapeCity.ActiveReports.Chart.Drawing.HatchStyle Pattern
      • old constructor:  public Backdrop(System.Drawing.Image picture, PicturePutStyle pictureAlignment)
        new constructor: public Backdrop(GrapeCity.ActiveReports.Chart.Drawing.Image picture, PicturePutStyle pictureAlignment, AntiAliasMode antiAliasMode)

    Printing API changes

    • SectionDocument.Printer
    • PageDocument.Printer
    • ActiveReportPrintController
    • DDPaperSize
    • Removed some System.Drawing.Printing enumerations as follows:

    GrapeCity.ActiveReports.SectionReportModel changes

    • Removed some System.Drawing references from public API:                       

    GrapeCity.ActiveReports.Export.Pdf changes

    • GrapeCity.ActiveReports.Export.Pdf.Section.PdfWatermarkSettings.FontStyle    
    • GrapeCity.ActiveReports.Export.Pdf.Section.Signing.PdfStamp.Font
    • GrapeCity.ActiveReports.Export.Pdf.Section.Signing.PdfStamp.Image         

    GrapeCity.ActiveReports.ReportsCore.Tools changes

    Breaking changes from ActiveReports 15 to ActiveReports 16

    Dropped Microsoft Visual Studio 2015 Support
    ActiveReports 16 is not supported in Microsoft Visual Studio 2015.
    Dropped Internet Explorer 11 Support
    ActiveReports 16 no longer supports Internet Explorer 11 owing to the Microsoft announcement.
    The Web package no longer includes a dependency from the Web.Design package
    For using the WebViewer control in the ASP.NET Designer, you need to install an additional GrapeCity.ActiveReports.Web.Design (or GrapeCity.ActiveReports.Web.Design.VS2022) package that corresponds to the Visual Studio version you are using. Installing the GrapeCity.ActiveReports.Web package does not install the Web Design package, thus you may see some design time or compilation errors.

    Extended IRenderingExtension with a cancellation token

    If you implemented a custom rendering extension, it needs to be updated with the implementation of the new Render Signature.

    Use IRenderingExtension as follows:
    void Render(IReport report, StreamProvider streams, NameValueCollection settings, CancellationToken token);

    Now the -out path in the console for importing reports supports only a folder path
    Previously, while using the Import tool via command line, you could use -out to specify a path to a file or a path to a folder. Now, -out specifies the path to a folder only. 
    Scripts with WinForms dependencies will no longer work
    You may need to load WinForms dependencies manually by using code similar to the following.

    var rpt = new SectionReport();
    rpt.LoadLayout("MySectionReport.rpx");
    rpt.AddAssembly(System.Reflection.Assembly.Load("System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"));


    The sample of the script that worked earlier without above code is as shown:

    public void detail_Format()

    {
        System.Windows.Forms.MessageBox.Show("Detail_Format");
    }                   

    PDF export settings in ASP.NET WebForms viewer
    If you specified export settings on the ASPX page, it may require some updates due to this breaking change.

    For breaking changes in previous versions, see the documentation page of ActiveReports 16.