Skip to main content

v10.x -> v11.0.1 migration

LightningChart® .NET version 11.0 brings several assembly and namespace related changes, which can cause various backwards compatibility breaks requiring user attention. The purpose of this guide is to help updating to LightningChart version 11.0 from previous versions. The full list of new features, improvements and error fixes can be found in the changelog.

Installing LightningChart® .NET SDK 11 will not automatically remove the previous LightningChart versions such as versions 10.5 and 9.1. The older versions can still be used for example from Visual Studio toolbox. If user wishes to remove the old LightningChart, this can be done by running the installer of the old version.

Installing the version package, NuGet for example, automatically takes care of everything (references etc.). In other words, the existing projects still work assuming there are no backwards compatibility breaks. Due to the assembly and namespace changes, it is strongly recommended to read through the list of changes and make the necessary modifications.

Assembly changes

We have changed the names of the assembly (.dll) files to reflect the company name change we did a while ago (Arction Ltd. -> LightningChart Ltd.). Therefore, we have replaced Arction with LightningChart in the assembly names.

LightningChart version 11.0 also introduces .NET6 versions of all the assemblies, excluding UWP and LightningChart Trader. For this, we have changed the names to indicate whether the assembly is for .NET Framework 4.x or for .NET6. The following table shows all the new assembly names.

Old assembly nameAssemblies for .NET FrameworkAssemblies for .NET6
Arction.Wpf. Charting.LightningChart.dllLightningChart.WPF. Charting.NET4.dllLightningChart.WPF. Charting.NET6.dll
Arction.Wpf. ChartingMVVM.LightningChart.dllLightningChart.WPF. ChartingMVVM.NET4.dllLightningChart.WPF. ChartingMVVM.NET6.dll
Arction.WinForms. Charting.LightningChart.dllLightningChart.WinForms. Charting.NET4.dllLightningChart.WinForms. Charting.NET6.dll
Arction.Uwp. ChartingMVVM.LightningChart.dllLightningChart.UWP. ChartingMVVM.dll-
UwpAttributes.dllLightningChart.UWP. Attributes.dll-
Arction.Wpf. TradingCharts.dllLightningChart.WPF. Trading.NET4.dll-
Arction.WinForms. TradingCharts.dllLightningChart.WinForms. Trading.NET4.dll-
Arction.Wpf. SignalProcessing.SignalTools.dllLightningChart.WPF. SignalTools.NET4.dllLightningChart.WPF. SignalTools.NET6.dll
Arction.WinForms. SignalProcessing.SignalTools.dllLightningChart.WinForms. SignalTools.NET4.dllLightningChart.WinForms. SignalTools.NET6.dll
Arction.Uwp. SignalProcessing.SignalTools.dllLightningChart.UWP. SignalTools.dll-
Arction.MathCore.dllLightningChart.MathCore.dllLightningChart.MathCore.dll
Arction.DirectX.dllLightningChart.DirectX.dllLightningChart.DirectX.dll
Arction.DirectXFiles.dllLightningChart. DirectXFilesNET.dllLightningChart. DirectXFilesNET.dll
Arction.DirectXInit.dllLightningChart. DirectXInitNET.dllLightningChart. DirectXInitNET.dll

We have also changed the assemblies needed to be added into a project. From LightningChart version 11.0 onwards, the following assemblies should be found in the project.

WinForms:

  • LightningChart.WinForms.Charting.NET4.dll (in .NET Framework projects)
  • LightningChart.WinForms.Charting.NET6.dll (in .NET6+ projects)
  • LightningChart.DirectX.dll
  • LightningChart.DirectXInitNET.dll
  • LightningChart.DirectXFilesNET.dll

If using SignalTools

  • LightningChart.WinForms.SignalTools.NET4.dll (in .NET Framework projects)
  • LightningChart.WinForms.SignalTools.NET6.dll (in .NET6+ projects)
  • LightningChart.MathCore.dll

WPF:

  • LightningChart.WPF.Charting.NET4.dll (for Non-bindable WPF chart, .NET Framework)
  • LightningChart.WPF.Charting.NET6.dll (for Non-bindable WPF chart, .NET6+)
  • LightningChart.WPF.ChartingMVVM.NET4.dll (for Bindable WPF chart, .NET Framework)
  • LightningChart.WPF.ChartingMVVM.NET6.dll (for Bindable WPF chart, .NET6+)
  • LightningChart.DirectX.dll
  • LightningChart.DirectXInitNET.dll
  • LightningChart.DirectXFilesNET.dll

If using SignalTools

  • LightningChart.WPF.SignalTools.NET4.dll (in .NET Framework projects)
  • LightningChart.WPF.SignalTools.NET6.dll (in .NET6+ projects)
  • LightningChart.MathCore.dll

UWP:

  • LightningChart.UWP.ChartingMVVM.dll
  • LightningChart.UWP.Attributes.dll
  • SharpDX.D3DCompiler.dll
  • SharpDX.Direct2D1.dll
  • SharpDX.Direct3D11.dll
  • SharpDX.dll
  • SharpDX.DXGI.dll
  • SharpDX.Mathematics.dll

If using SignalTools

  • LightningChart.UWP.SignalTools.dll

Namespace changes

LightningChart version 11.0 also brings changes to namespaces used in code. When updating from a previous LightningChart version, it is required to change the project to use the new namespaces. For example:

Old way: using Arction.Wpf.Charting;

New way: using LightningChartLib.WPF.Charting;

Refer to the following table to find out the new namespace roots.

Old namespace rootNew namespace rootXML namespace
Arction.Wpf.ChartingLightningChartLib.WPF.Chartingxmlns:lcunb= "http://schemas.lightningchart.com/charting/"
Arction.Wpf.ChartingMVVMLightningChartLib.WPF.ChartingMVVMxmlns:lcusb= "http://schemas.lightningchart.com/chartingMVVM/
Arction.WinForms. ChartingLightningChartLib.WinForms.Charting-
Arction.Uwp.ChartingMVVMLightningChartLib.UWP.ChartingMVVMxmlns:lcu= "using:LightningChartLib.UWP.chartingMVVM"

.NET Framework change

The target framework version for LightningChart's library update to .NET Framework 4.8. Any user's .NET Framework project, which uses LightningChart's library should set target framework at least .NET Framework 4.8. Any newer version (like .NET Framework 4.8.1 or .NET 7.0) is fine as well. .NET 6.0 LightningChart control/project requires Visual Studio 2022 or above.

Improved DPI awareness handling in charting application

In previous version (like 10.5.1) when enable dpiAware (in application manifest) this leads to text's font shrinkage in the chart. Now Fonts remain same size as defined and chart image is sharp & clear. In addition, when dpiAware=True, LightningChart WinForms edition start to recognize difference between pixel (PX) and DPI units. That is, PX not equal DPI, if Windows-scale factor > 100%. Due to this change user should be more careful when using methods for axis-value to/from coordinate conversion. Methods like Axis.ValueToCoord() or Axis.ValueToCoord() could have input/output either as PX or DPI coordinates (depending on which flag is used). Therefore, user should carefully check, which units is required in the calculation of his/her. In addition, per monitor DPI awareness is handled better (for WPF and WinForms) by LightningChart (in regards of text rendering), especially in .NET 6.0 targeting build of library.

Demo application improvements

We continue improving Interactive Examples application, the essential tool to browse different features of LightningChart and extract example code projects. Examples could be now extracted not only as .NET Framework project (as before), but also as .NET 6.0 projects. Example could be extracted to 7 project types: .NET Framework 4.8 or .NET 6.0 for WinForms, WPF and MVVM (bindable), and UWP. Though not every example is converted yet to all 7 types. In addition, we polished examples, cleared their code, fixed some errors.

Improved ZoomBar chart, custom control

Made ZoomBar chart look more modern - selected area/band is transparent, while areas not visible in Main-chart are dimmed. Previous vertical band covered whole zoomed XAxis range and it was possible to drag it with mouse-cursor. Now it is possible to drag only rectangular box, which indicates X- & Y-axis range in main-chart. There are multiple zoom-boxes, if main-chart has multiple vertical segments.