As a leader of .NET components, we are excited to announce that ComponentOne is .NET 5 compatible with Microsoft's latest release. Our compatibility includes new .NET 5-based WinForms & WPF controls and .NET 5 support across our ASP. NET Core and Blazor controls. We've worked with Microsoft to ensure support for these controls with the latest Visual Studio 2019 released this week at the .NET Conference.
While the full ComponentOne 2020 v3 release is slated to launch next month, we've made the latest .NET 5 controls available today through GitHub and Nuget. In this blog, I'll show you how you can use the controls today, share a few migration tips, .NET 5 highlights, and share our roadmap for 2021.
What Are the .NET 5 Highlights
.NET 5 is perhaps the most exciting advancement for .NET desktop development in the past decade. As a component vendor, we still see many developers and enterprises working with WinForms and WPF, which had matured 10-plus years ago. .NET 5 brings many new capabilities to your applications, including single-file applications, performance improvements (like 20% faster JSON serialization), web and cloud investments, ARM64 support, and more.
But most significantly, .NET 5 is the next step forward for desktop applications built on WinForms and WPF because it unifies development across the web, cloud, mobile, and gaming by providing a single .NET runtime and SDK.
Unifying the .NET Framework, .NET Core, and Xamarin/Mono will make our lives easier by providing components for all of these different versions of .NET. It will make application development more manageable in the future as companies may feel less stuck in one platform. For example, a WinForms app migrated to .NET 5 can be more easily moved to the web as a Blazor app.
One of the more noticeable features you will notice in our .NET 5 controls is the high DPI support.
Migrating .NET Framework apps to .NET 5 is pretty straightforward. About 50,000 .NET Framework APIs were included in .NET 5. You should follow the tips we shared in our previous blog about migrating a WinForms application.
How to Get Started with ComponentOne .NET 5 Controls
We first made our .NET 5 controls available as a preview back in July. Today we've released production-ready versions of these controls to nuget.org. We've also introduced many new controls. You can find them by searching C1.* on NuGet and look for the 5.0 versions.
The quickest way to get up and running with these controls is to download the samples or the Demo Explorer. We've made these samples available on GitHub, and they will be added to the full product installation later this year with 2020 v3. Or, you can launch the controls without requiring Visual Studio by installing the new Demo Explorer (see the links below):
- Download ComponentOne WinForms .NET 5 Samples (GitHub)
- Download ComponentOne WPF .NET 5 Samples (GitHub)
- Download WinForms and WPF Demo Explorer (Desktop Application)
All of our web controls (Blazor and ASP. NET Core) also support .NET 5 using the latest version. Below is a full list of which WinForms and WPF controls are available today for .NET 5:
WinForms production-ready: C1FlexGrid, C1FlexChart, C1Ribbon, C1Sparkline, SuperTooltip, C1Icon, C1ExpressionEditor, C1RulesManager, C1InputPanel, Themes
WinForms beta: C1TreeView, C1Input (C1NumericEdit, C1TextBox, C1Button, C1ComboBox, C1Label, C1MaskedTextBox, C1CheckBox, C1PictureBox, C1Splitbutton, C1RangeSlider), C1FlexReport, C1FlexViewer, C1Document, C1Maps, C1BarCode, C1Bitmap, C1Command (C1CommandDock, C1ContextMenu, C1DockingManager, C1DockingTab, C1MainMenu, C1ToolBar)
WPF production ready: C1FlexGrid, C1FlexChart, C1Input (C1MaskedTextBox, C1NumericBox, C1RangeSlider, C1FilePicker, C1HyperlinkButton, C1ColorPicker, C1ComboBox, C1DropDown, C1SplitButton, C1DateTimePicker, C1TimeEditor, C1DatePicker), C1DockControl, C1RichTextBox, C1TabControl, C1TreeView, C1DockPanel, C1WrapPanel, C1DX, C1ActivityIndicator, C1ScrollViewer, C1Window, C1FinancialChart, C1DataPager, C1DataFilter, C1FilterEditor, C1Expander, C1Maps, C1FlexPivot (C1Olap), C1Ribbon (C1Toolbar/C1SimplifiedRibbon), C1RichTextBoxRibbon, C1RichTextBoxToolstrip
Our .NET 5 Roadmap
We've been collecting feedback from you through surveys, forums, and opt-in Visual Studio feedback. From this, we prioritized which controls were migrated first from .NET 4.5.2. The goal is to migrate most controls by the end of 2021. Below is the roadmap for the remaining .NET 5 controls.
- 2021 v1: C1CalendarView, C1DateEdit, C1DropDownControl, C1SplitContainer, C1PrintPreviewControl, C1FlexPivot
- 2021 v2: C1PdfDocumentSource, C1DataFilter, C1FilterEditor, C1TouchToolkit, C1BbNavigator, C1ColorPicker, C1FontPicker, C1MaskedTextBox, C1PrintDocument
- 2021 v3: C1Schedule, C1SpellChecker, C1Gauge, C1FinancialChart, C1RadialMenu, C1TrueDBGrid, C1MultiSelect
- 2022: C1GanttView, C1Word, C1Chart3D, C1List, C1Sizer, C1Win7Pack, C1TileContol, C1Editor
- 2021 v1: C1ListBox, C1TileListBox, C1ListViewer, C1ProgressBar, C1RadialMenu, C1RadialPanel, C1Calendar, C1Accordion, C1DragDropManager
- 2021 v2: C1PropertyGrid, C1FlexReport, C1FlexViewer, C1Scheduler, C1MultiSelect, C1CheckList, C1TagEditor
- 2021 v3: C1InputPanel, C1Rating, C1Barcode, C1Sparkline, C1ExpressionEditor, Gauges (C1LinearGauge, C1RadialGauge, etc.)
- 2022: C1FlexSheet, C1FormulaBar, C1GanttView, C1Word, C1Chart3D
This roadmap is tentative and may change a little as we receive more feedback. Due to changes in usage and reprioritizing focus, the following controls will not be ported to .NET 5. We will continue to support these controls for .NET 4.5.2.
WinForms: C1Calendar, C1Chart, C1Combo, C1DynamicHelp, C1FlexGridClassic, C1XLBook (C1Excel), C1Report, C1ReportDesigner, C1Outbar, C1NavBar, C1TopicBar, C1PdfDocument (C1Pdf), C1SizerLight, C1DataSource, C1RdlReport
WPF: C1DataGrid, C1Chart, C1PdfDocument (C1Pdf), C1PdfViewer, C1HyperPanel, C1DocumentViewer, C1ReportViewer, C1Book, C1TileView, C1Tile/C1SlideTile, C1XLBook (C1Excel), C1MediaPlayer, C1OrgChart, C1OutlookBar, C1Carousel, C1Binding, C1Bitmap, Themes (all except Office2016, Material), C1DataSource
Known Issues in .NET 5
While we recommend using our new .NET 5 version controls in .NET 5 apps, you may still use the 4.5.2 controls in a .NET 5 application. You may run into unforeseen issues. Below is a list of the known problems we've collected:
- .NET 5 designer – you can't set some paddings and other special value types in the property grid due to serialization issues.
- Use of OleDB and Access data sources – 'ADO. NET provider System.Data.OleDb not registered in the system' error occurs if using C1FlexReport in .Net 5 projects. A workaround is to add a reference to OLEDB NuGet package version 4.7.1+ or use ODBC.
- SSRS reports - System.IO.FileNotFoundException has occurred if using C1SSRSDocumentSource in Net5 project
Join Us for A .NET 5 Webinar
If any of this information is confusing, or if you'd like to see our .NET 5 controls in action, join me for a live webinar on November 19th. The webinar will cover a lot of the information in this blog in more detail, and give you the opportunity to ask questions and chat directly with the ComponentOne product team.
Try ComponentOne UI Controls Free for 30 Days Download the latest version of ComponentOne
Try ComponentOne UI Controls Free for 30 Days
Download the latest version of ComponentOneDownload Now!