Migration to .NET 6

Posted by: info on 28 December 2021, 8:20 pm EST

    • Post Options:
    • Link

    Posted 28 December 2021, 8:20 pm EST

    Hello, we are doing some migration tests to .NET 6 but some components have not been converted, such as C1Sizer or C1Editor.

    Will they be developed? Is there a date?

    For the truedbgrid there is a beta version, but none of these components.

    Regards, Marco

  • Posted 29 December 2021, 6:36 pm EST

    Hello Marco,

    As per the developers, the C1Sizer and C1Editor both the controls are in the plans to include in .NET 6 in 2022 but there is no specific ETA available yet/

    Regards,

    Prabhat Sharma.

  • Posted 1 April 2022, 12:22 pm EST

    Hello, any news or date on which the C1Sizer component will be available in .NET 6? Please let me know as I urgently need to know if I can wait or should I use a different control. Thanks, Regards, Marco.

  • Posted 3 April 2022, 8:14 pm EST

    Hello,

    As per the development team the Sizer control will be ported to .NET 6 in the next public release 2022v2.

    Regards,

    Prabhat Sharma.

  • Posted 7 April 2022, 2:31 am EST

    I’ve noticed for e.g. the C1TextBox the (old) properties DataSource and DataType are missing, meaning the .NET 5/6 version of this important control is not backwards compatible with any .NET 4.x Framework code that needs migration.

    Will this always require manual conversion of any code; or will these properties be supported at any stage in the future?

  • Posted 7 April 2022, 9:27 pm EST - Updated 3 October 2022, 1:11 pm EST

    Hello Abraham,

    Both the mentioned properties DataSource and DataType are available in the .NET 5 and .NET 6 both the C1TextBox control. Please see the attached screenshot for reference.

    If you are using any issue in migrating your application in .NET 5/.NET 6 then please let us know.

    Regards,

    Prabhat Sharma.

  • Posted 9 April 2022, 6:13 am EST

    @Prabhat Sharma, that’s great, then their existence is just missing from the documentation :slight_smile: Maybe good to add that to avoid confusion.

    The only doc page I can find is this one which doesn’t have the two properties mentioned:

    https://www.grapecity.com/componentone/docs/win/online-calendar/C1.Win.Input.5~C1.Win.Input.C1TextBox_properties.html

    Is there a more up-to-date API doc page for the .NET 6 version?

  • Posted 10 April 2022, 10:29 pm EST

    Hello Abraham,

    Apologies for the inconvenience.

    Please find the correct documentation link for the Input .NET 6 API.

    https://www.grapecity.com/componentone/docs/win/online-input-net/C1.Win.Input.6~C1.Win.Input.C1TextBox_members.html

    I will ask the concerned team to get it updated on the website soon.

    Regards,

    Prabhat Sharma.

  • Posted 10 April 2022, 11:54 pm EST

    @Prabhat Sharma: thanks, that certainly provides clarity; looking forward to the updated online docs to avoid confusion for others.

  • Posted 17 April 2022, 4:55 am EST

    We have older .NET 4.8 projects using the C1 suite 2015 version; can we install the latest NET 6 version of the C1 suite on the same machine for NET 6 to allow migration without breaking things?

  • Posted 18 April 2022, 3:36 pm EST

    Hello,

    To work with the .NET 6 controls you needs to install the Visual Studio 2022 in your machine.

    You can install the .NET 6 controls directly via NuGet Package Manager with installing complete suite.

    Please see the FlexGrid documentation link demonstrating the same:

    https://www.grapecity.com/componentone/docs/win/online-flexgrid/quick-start.html

    Note: Please make sure you have latest version license to work with the .NET 6 controls.

    Regards,

    Prabhat Sharma.

  • Posted 20 April 2022, 8:00 pm EST

    Hello,

    is there a beta version of the c1sizer component available in .NET6 so you can start porting it while you stabilize it?

    Regards, Marco

  • Posted 24 April 2022, 9:55 pm EST

    Hello Marco,

    The C1Sizer in .NET6 is planned for the 2022V2 release of ComponentOne.

    The ETA is at the end of July 2022.

    We will update the thread once it is released.

    Regards,

    Prabhat Sharma.

  • Posted 3 May 2022, 2:11 am EST

    @Prabhat Sharma: Doing testing/evaluation I just noticed the .NET 6 version of the C1Label control is missing the DataSource / DataMember properties (while e.g. C1TextBox / C1DbNavigator / C1TrueDbGrid indeed do have these); this will cause conflicts when converting projects from .NET 4.8 to .NET 6; is there any reason why these properties have been removed? Will they be added still in the future?

    What is the recommended replacement for the .NET 4.8 C1DateEdit control? There is no such control in the .NET 6 suite it seems.

    Testing the C1TrueDbGrid (v6) I can’t find a way to access the grid designer that allows for definition of columns/display/format etc. In .NET 4.8 the VS property window would show the various commands for this control like ‘Design …’, ‘Save lay-out’, The control’s available tasks are only ‘About C1TrueDbGrid’ and ‘Dock in Parent Container’. Am I missing something?

    Some behaviour with these properties in the VS Winforms designer is inconsistent: e.g. for C1TextBox I can set the DataSource via the property window to a BindingSource control (that has no DataSource yet) present on the Form . But for the C1DbNavigator and the C1TrueDbGrid control I can’t do that with the designer, but only via code. It would seem logical for the C1DbNavigator and the C1TrueDbGrid controls to support the same definition flexibility as the C1TextBox has in this regard.

  • Posted 3 May 2022, 9:38 pm EST

    Hello Abraham,

    We too can observe that the DataSource property is not present for C1Label and we are discussing this with the developers. For now, you can use the Add method of the DataBindings property to bind the C1Label with the data source.

    For using the C1DateEdit control in .NET 6, you can use the following package:

    https://www.nuget.org/packages/C1.Win.Calendar

    The complete designer support has not been implemented yet for our .NET 6 controls due to some limitations but it is in our plans to add them in the future.

    [Internal Tracking Id: C1WIN-27317]

    Regards,

    Prabhat Sharma.

  • Posted 4 May 2022, 4:52 am EST

    @Prabhat Sharma: Thanks for the C1.Win.Calendar C1DateEdit hint. Testing that one I noticed it is not possible to make the control use the Current Culture settings of the machine it is running on using the designer/properties window. Neither can I change the culture from ‘en-US’ to anything else using the designer/properties window. I think this is a bug.

    By code I can set the control’s CultureInfo to the CurrentInfo.CurrentCulture, and thus let the control honour any local system settings for date formats etc,. The ‘old’ .NET 4 C1DateEdit control did all this by default (using the system culture settings) - which is the expected behaviour.

    Would be great if the devs could:

    • fix this C1DateEdit CultureInfo behaviour bug
    • make C1Label consistent with other controls and support DataSource/DataMember
    • make C1DbNavigator + C1TrueDbGrid consistent with e.g. C1TextBox and allow the DataSource property to be set to any BindingSource control on the form with the designer/properties window.
    • provide full designer for C1TrueDbGrid

    Thanks for replying and relaying this info to the devs team!

  • Posted 4 May 2022, 7:18 pm EST

    Hello Abraham,

    1: fix this C1DateEdit CultureInfo behavior bug.

    This is already reported and will get fixed in the next 2022V1 hotfix release.

    2: make C1Label consistent with other controls and support DataSource/DataMember.

    The developers have this in their plans and will add these properties in future.

    3: make C1DbNavigator + C1TrueDbGrid consistent with e.g. C1TextBox and allow the DataSource property to be set to any BindingSource control on the form with the designer/properties window.

    As per the developers, it seems to be a bug. We will let you know as soon as we get the update from the developers.

    4: provide full designer for C1TrueDbGrid

    We have requested the developers for the same and will update you on this as soon as we get the updates.

    Regards,

    Prabhat Sharma.

  • Posted 4 May 2022, 7:49 pm EST

    @Prabhat Sharma: that sounds good, we’ve got big projects using C1 Winforms components to convert from .NET 4.8 to .NET 6, but that can only happen once the APIs/behaviour are nearly identical and manual code adjustment requirements are minimal. Looking forward to any updates … !

  • Posted 22 September 2022, 7:22 am EST

    @Prabhat Sharma: any news on the bugs/requirements listed in May?

  • Posted 25 September 2022, 7:51 pm EST

    Hello Abraham,

    The following issues mentioned in the above posts are fixed:

    1: fix this C1DateEdit CultureInfo behavior bug.

    2: make C1Label consistent with other controls and support DataSource/DataMember.

    3: Provide designer support for C1TrueDbGrid. Added SaveLayout, LoadLayout and ChooseDataSource actions to the C1TrueDBGrid designer.

    The following requirement will be fixed in the next major release 2022V3 release:

    1: make C1DbNavigator + C1TrueDbGrid consistent with e.g. C1TextBox and allow the DataSource property to be set to any BindingSource control on the form with the designer/properties window.

    Regards,

    Prabhat Sharma.

  • Posted 26 September 2022, 7:56 pm EST

    @Prabhat Sharma: that is excellent new, will put the next major 2022V3 release on the testbed again to assess whether we can viably migrate our projects to NET 6 with that release. Thanks for following up on this.

  • Posted 16 November 2022, 10:42 pm EST

    Hi Prabhat,

    Is there any further news on when, or whether, C1Editor will be available as a .NET6 control? Apart from your mention in December last year that it would appear in 2022, I have found nothing to say it has been, or will be, delivered any time soon.

    Can you provide any more details?

  • Posted 17 November 2022, 2:03 pm EST

    Hi Paul,

    The new Editor for .Net 6 will be released in the 2022v3 release as a beta version. The ETA for the 22v3 release is the first week of December. We will let you know as soon as we have any further updates.

    Regards.

    Avnish

  • Posted 21 December 2022, 4:55 pm EST

    Hello,

    The C1Sizer and C1Ediotr have been introduced in .NET 6 control suite. Please upgrade to the latest version to use these versions:

    https://www.nuget.org/packages/C1.Win.Editor/6.0.20223.584-beta

    https://www.nuget.org/packages/C1.Win.Sizer

    Regards,

    Prabhat Sharma.

  • Posted 21 December 2022, 8:20 pm EST

    Hi,

    We are developing projects that heavily use C1 components for WinForms.

    Currently we are using version 4.8.20223.584 but in one of the dependent projects we need to provide our components for .net 6 platform.

    We can divide the components of our project into:

    • GUI-less, they are targetting netstandard2.0
    • GUI, haevily dependent on C1

    The first idea was to use multi targetting and we did so while staying with C1 4.8.x (net48;net6.0-windows in *.csproj)

    We are currently trying to upgrade C1 to version 6.0.20223.584. The version change of the NuGet packages causes hundreds of errors in the source code, very often in *.Designer.cs files.

    Some examples:

    • ‘C1Input’ does not exist in the namespace ‘C1.Win’ - Fix: C1.Win.C1Input → C1.Win.Input
    • ‘FormatTypeEnum’ does not exist in the namespace ‘C1.Win.Input’ - Fix: C1.Win.Input.FormatTypeEnum → C1.Win.Input.FormatType
    • ‘many things’ does not exist in the namespace ‘C1.Win.C1TrueDBGrid’ - Fix: C1.Win.C1TrueDBGrid.* → C1.Win.TrueDBGrid.*
    • ‘CalendarSettings’ does not contain a definition for ‘AccessibleDescription’ and no accessible extension method ‘AccessibleDescription’ accepting a first argument of type ‘CalendarSettings’ could be found

    Do you have any advice or tutorials describing how to switch from 4.8 api into 5/6 api?

    Best regards

    Przemek

  • Posted 22 December 2022, 11:03 pm EST

    Hello Przemek,

    As both 4.8 FW control and 6.0 control APIs are different so there might be some minimal changes that you might need to do in the code after migrating your project from 4.8 FW controls to 6.0/5.0 version controls.

    You can follow the below documentation steps to migrate to .NET 5/ 6:

    https://www.grapecity.com/blogs/how-to-migrate-from-the-dot-net-framework-to-dot-net-5-controls

    Regards,

    Prabhat Sharma.

  • Posted 26 December 2022, 7:25 pm EST

    Hi Przemek,

    you could use preprocessor directives to support both versions in one code class:

    #if NET6_0_OR_GREATER
    using C1.Win.FlexGrid;
    #else
    using C1.Win.C1FlexGrid;
    #endif

    Remove namespaces in the “Designer.cs” files where possible (so that only the “using” part differs for the diffferent framework versions), e.g.:

    Old:

    this.c1FlexGrid.KeyActionEnter = C1.Win.C1FlexGrid.KeyActionEnum.None;

    Modified:

    this.c1FlexGrid.KeyActionEnter = KeyActionEnum.None;

    Best regards

    Wolfgang

  • Posted 12 January 2023, 1:09 am EST - Updated 12 January 2023, 1:22 am EST

    @Prabhat Sharma: installing the 2022 v3 version for WinForms (.NET 6 controls only) removes my 2015 version of the C1 WinForms suite (with the .NET 4.8 controls); how to prevent that from happening? This keeps me from testing the upgrade properly on one machine.

  • Posted 15 January 2023, 2:34 pm EST

    Hello Abraham,

    It is not possible to install two different versions of GrapeCity controls on the same machine.

    If you do not want to uninstall the installed version, you can directly install the required NuGet packages into your project. They are available in .NET 6 and .NET Framework both.

    But if you installed the latest version and wanted to go back to the old version then you can uninstall the latest version and install the old version again.

    Regards,

    Prabhat Sharma.

  • Posted 15 January 2023, 11:51 pm EST

    @Prabhat Sharma: thanks for that, how to obtain a new trial extension key? The old trial key is from May 2022; re-evaluation with the new 2022 v3 versions with the NuGet packages simply reports my old trial key has expired.

  • Posted 16 January 2023, 3:47 pm EST

    Hello Abraham,

    This case has been replied on the given link, please continue the thread there only:

    https://www.grapecity.com/my-account/my-support/case/c5491d2a-2196-ed11-aad1-000d3a55bcf1

    Regards,

    Prabhat Sharma.

  • Posted 16 January 2023, 8:37 pm EST

    Testing the new 2022 v3 version of the Winform controls I found the following that still prohibits an easy upgrade from the .NET 4.8 version of the C1 Winforms suite:

    • C1.Win.TrueDBGrid has suppport for Load/Save lay-out but still no visual designer; so old desings can be loaded, but designs cannot be visually constructed or adjusted. The DisplayColumns property of a Split is not accessible from the Winforms designer.

    • both C1.Win.TrueDBGrid and C1.Win.DbNavigator have a ‘DataSource’ property that can be set to a BindingSource object by code, but this is still not possible using the Winforms designer (while e.g. this is now working well for the C1Textbox and C1DateEdit classes). This should be made consistent and in line with the old behaviour in .NET 4.8

    • C1Label seems to have a bug where it is possible to set the DataSource and DataMember to a BindingSource and DataTable column name, but when doing so using the Winforms designer a runtime exception occurs where the DataMember cannot be found.

    Having these issues fixed is essential before we can properly consider upgrading our software to .NET 7 and the 2022 / 2023 version of the C1 Winforms Component Suite.

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels