.NET Core 3 Feedback

Posted by: kelley.ricker on 22 January 2019, 1:54 am EST

  • Posted 22 January 2019, 1:54 am EST

    Please report any issues you experience with .NET Core 3.0 in this thread to help us address any issues that you may encounter.

    If you're interested in trying to use .NET Core 3.0 but haven't tried to yet, we have a guide that demonstrates how to use .NET Core 3.0 with our WinForms controls:

    https://www.grapecity.com/en/blogs/get-started-with-c1-winforms-and-dotnet-core

    Feel free to provide any feedback related to using .NET Core 3.0 with our WinForms controls in this thread.

    Kelley Ricker
    XAML Product Manager
  • Replied 22 January 2019, 1:55 am EST

    If you've experienced a problem with C1FlexGrid where it needs System.Drawing.Design.UITypeEditorEditStyle in System.Drawing, we have an open case with Microsoft that you can follow on GitHub:

    https://github.com/dotnet/winforms/issues/270

    We will update this thread with the resolution, but you can also participate with that particular problem via the GitHub thread.
  • Replied 15 October 2019, 5:29 am EST

    I already have a support ticket open (ID : 401746), but I found this thread so I thought I might post it here as somebody may run into the same issue!

    The win forms version of C1FlexGrid in the latest available version (20192.1.375) is not compatible with the official release of the .NET Core 3.0 SDK (3.0.100).

    If you install the official release of the .NET Core 3.0 SDK (3.0.100) and run the sample application in the C1 blog post linked below, and try to open the Subtotals form, you will get a crash in the C1FlexGridBase constructor.

    After decompiling the latest C1.Win.C1FlexGrid.4.dll, I can see the following logic at the site of the crash, which is the get accessor of "C1FlexGridBase.UseCompatibleTextRenderingDefault":

    return (bool) typeof (Control).GetField(nameof (UseCompatibleTextRenderingDefault), BindingFlags.Static | BindingFlags.NonPublic).GetValue((object) null); 



    If you take a look at Control.cs, line 299 of the official .NET Foundation WinForms source, you can see that the Control.UseCompatibleTextRenderingDefault value is now a property, and not a field:

    internal static bool UseCompatibleTextRenderingDefault { get; set; } = true;


    This was changed by a contributor on 30th July. You can see the commit at the link below (look in Control.cs changes and search for "UseCompatibleTextRenderingDefault").


    The logic in C1FlexGridBase.UseCompatibleTextRenderingDefault.get() is not compatible with the latest .NET Core 3.0 SDK as GetField() does not enumerate property information.


    Useful links:

    ComponentOne sample application (bottom of blog post):
    https://www.grapecity.com/blogs/winforms-and-dotnet-core-3

    Control.cs source (see line 299): https://github.com/dotnet/winforms/blob/master/src/System.Windows.Forms/src/System/Windows/Forms/Control.cs

    Breaking Change:
    https://github.com/dotnet/winforms/commit/ba7e4bf0d5967ee2a3cbd0ebfaca54eed7a84061

    I hope we see a fix soon!

    Cheers,

    Sam
  • Replied 15 October 2019, 10:18 pm EST

    Hi Sam,

    Thank you for bringing it to the forums such that community can benefit.
    The behavior you mention is an issue and the developers are working over to fix it [ID: 401707].
    We' ll update the thread once the fix gets released.

    Best wishes,
    Ruchir
  • Replied 13 January 2020, 3:21 am EST

    Running Microsoft Visual Studio Community 2019 Preview Version 16.5.0 Preview 1.0 and having installed ComponentOne Studio for WinForms (.NET 4.5.2) 20193.398 I then create a new Project of type "Windows Forms .Net Core 3.0 Docking App (C#)" and then choose Build, I get the following warnings:

    warning NU1604: Project dependency C1.Win.C1Command does not contain an inclusive lower bound. Include a lower bound in the dependency version to ensure consistent restore results.
    warning NU1604: Project dependency C1.Win.C1Themes does not contain an inclusive lower bound. Include a lower bound in the dependency version to ensure consistent restore results.
    warning NU1701: Package 'C1.C1Zip 4.5.20193.393' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.0'. This package may not be fully compatible with your project.
    warning NU1701: Package 'C1.Win 4.5.20193.393' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.0'. This package may not be fully compatible with your project.
    warning NU1701: Package 'C1.Win.C1Command 4.5.20193.393' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.0'. This package may not be fully compatible with your project.
    warning NU1701: Package 'C1.Win.C1Input 4.5.20193.393' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.0'. This package may not be fully compatible with your project.
    warning NU1701: Package 'C1.Win.C1Themes 4.5.20193.393' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.0'. This package may not be fully compatible with your project.

    Is it safe to ignore these warnings? I would have expected clean projects built from the templates should build cleanly. Are there or are there going to be .net Core 3 native versions of ComponentOne?
  • Replied 13 January 2020, 8:10 pm EST

    Hello Dave,

    We too can observe the same warnings at our end so we have escalated this to the developers and will let you know once we get any update on this from the developers end.
    [Internal Tracking ID : 416973]

    Regards,
    Prabhat Sharma.
  • Replied 14 January 2020, 6:22 am EST

    I have run the Microsoft Portability Analyzer on my project and after some work, we are now 100% compliant with .net core 3.1.

    However, ComponentOne components are not. I attach the Portability Report. Can you let me know if the next version of ComponentOne for WinForms (2019 v4 ?) will support .net core 3.1?

    We hope to ship our next version in May 2020 running on .net core 3.1 and so it is imperative that we know that ComponentOne will have a compatible version in the next few months.PortabilityReport.zip
  • Replied 15 January 2020, 5:37 pm EST

    Hi Dave,

    Between Core 3.0 and Core 3.1, Microsoft removed some dependencies for some basic controls. We are working on removing such dependencies from the control code currently. We will update you once we have a QA verified build for Core 3.1.

    https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/

    W.r.t. to your question about template, this issue was fixed, we will update our installer in coming days with it.

    Can you tell us about your view on .NET Core?
    1. Are you targeting it to port and maintain existing applications
    2. Are you targeting it to create new application
    3. Both 1 & 2

    Your feedback will help us a lot with long term planning.

    Thanks
    -Prabhakar
  • Replied 15 January 2020, 7:32 pm EST

    Dave,

    Could you please confirm what controls are you using? All the ones reported in the sheet? It would be really helpful if you can provide specific names so that we can cater them first.

    ~Pragati
  • Replied 21 April 2020, 12:03 am EST

    I made new console .Net Core 3.1 app in VS 2019 ver 16.5.4. I added C1.Excel through nugget packages (I have the newest ComponenetOne WinForms edition.).
    So, when I try tu use Excel in code like this:
    Book c1XLBook = new C1XLBook();
    it gives me this error:
    "Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=#########'. The system cannot find the file specified.":"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=#########"} System.IO.FileNotFoundException

    ####### = hidden numbers

    I get the same exception when running your example "DotNetCore3Sample" downloaded from this link https://www.grapecity.com/blogs/get-started-with-c1-winforms-and-dotnet-core.

    It is possible to use ComponetnOne Controls in .Net Core app?
    If so, can you help me?

    Thank You.

    Regards,
    Hrvoje
  • Replied 21 April 2020, 8:15 pm EST

    Hi,
    We are still updating all the libraries to .NET Core 3.1. We plan to release a compatible library in May sometime.
    However, C1Excel 2020V1 build, already works on .net Core 3.1, If you do not want to wait for May release then build 4.5.20201.416(https://www.nuget.org/packages/C1.C1Excel/) available on NuGet can be used, but please note that support for .NET Core 3.1 is not QA verified yet.

    Thanks
    -Prabhakar
  • Replied 21 April 2020, 8:37 pm EST

    prabhakarmishra21 said:
    Hi,
    We are still updating all the libraries to .NET Core 3.1. We plan to release a compatible library in May sometime.
    However, C1Excel 2020V1 build, already works on .net Core 3.1, If you do not want to wait for May release then build 4.5.20201.416(https://www.nuget.org/packages/C1.C1Excel/) available on NuGet can be used, but please note that support for .NET Core 3.1 is not QA verified yet.

    Thanks
    -Prabhakar


    Thank You for fast answer, but, I already did that. Maybe i am missing something.

    I get the same exception about "System.Windows.Forms, Version=4.0.0.0" when running your example "DotNetCore3Sample" downloaded from this link https://www.grapecity.com/blogs/get-started-with-c1-winforms-and-dotnet-core.

    This is what i have in my project.


    Thank You.

    Regards,
    Hrvoje

  • Replied 21 April 2020, 9:20 pm EST

    You have the correct build. However, please refer attached sample, It runs fine on my side, it is a .NET Core 3.1 project using Visual Studio 2019(my version: 16.4.6)


    WindowsFormsApp11.zip
  • Replied 21 April 2020, 11:08 pm EST

    prabhakarmishra21 said:
    You have the correct build. However, please refer attached sample, It runs fine on my side, it is a .NET Core 3.1 project using Visual Studio 2019(my version: 16.4.6)

    WindowsFormsApp11.zip


    Sample app that You provided works as expected.

    I figured it out. The problem exists when you make a console .Net Core 3.1 application. But, when you make Windows Forms .Net core app then everything works as expected.
    Only thing that I question now, is Licences. How to use them with nuget. I have manually added Lincece.licx file in project and manually updated .csproj file with this code and it doesn't complain about licences:
    <ItemGroup>
    <None Remove="licenses.licx" />
    </ItemGroup>
    <ItemGroup>
    <EmbeddedResource Include="licenses.licx" />
    </ItemGroup>

    Questions:
    1. What is proper way to add licences?
    2. What about that exception that exists only in console application?

    Thank You.

    Regards,
    Hrvoje
  • Marked as Answer

    Replied 21 April 2020, 11:55 pm EST

    1. What is proper way to add licences?
    For now, add a licenses. licx file in project and add relevant control entry. Mark the file as embedded resource.
    2. C1Excel and all WinForms controls will work with .NET Core 3.1 WinForms apps since these libraries require some WinForms packages that are supported in .NET Core 3.1 WinForms.
    If you wan to use a document library in .NET Core 3.1(non WinForms), the best option is to go for our GCDocument Solution: https://www.grapecity.com/documents-api-excel
    Otherwise, you may need to add dependency of Microsoft.WindowsDesktop.App.WindowsForms to the console app to use C1Excel.
  • Replied 22 April 2020, 12:02 am EST

    Thank You very much.

    Regards,
    Hrvoje
  • Replied 18 May 2020, 6:29 pm EST

    I have an interesting issue, I can develop using the net core designer by targeting Net48 and netcoreapp however some of your controls such as FlexGrid search box will not work, It fails to compile and when I check the error it says that for net48 the control is available but for netcoreapp it is unavailable. This seems to only happen for those controls that are subordinate to a higher level control ie. Theme Picker fails but Theme Controller is fine. Is this a known issue or is there something else missing?
  • Replied 18 May 2020, 6:50 pm EST

    Hi Lorin,

    Can you share the build number that you are using?

    Thanks
  • Replied 18 May 2020, 7:01 pm EST

    20201.1.416
  • Replied 18 May 2020, 11:19 pm EST

    Can you try with below build:
    http://prerelease.componentone.com/hotfixes/dotnet/C1WinForms-452_4.5.20201.424.zip

    There will be another hotfix where all major controls will have Core3.1 support.
  • Replied 19 May 2020, 12:05 pm EST

    That did work, had to create a test app since the hotfix does not affect the nuget packages. thanks
  • Replied 19 May 2020, 6:59 pm EST

    This download requires authentication? Other downloads in the "hotfix" page work, only this one fails. My C1 login does not work.

    Wolfgang
  • Replied 19 May 2020, 7:40 pm EST

    Hi Wolfgang, Lorin,

    I just pushed the packages to NuGet.
    The update will also be available through C1 ControlPanel updates soon.
  • Replied 19 May 2020, 8:26 pm EST

    Good work, the yellow triangles disappeared on the dependencies and everything seems to work so far
  • Replied 21 May 2020, 6:18 pm EST

    Download of the hotfix now works, thanks

    Wolfgang
  • Replied 29 June 2020, 9:16 am EST

    prabhakarmishra21 said:

    C1Excel and all WinForms controls will work with .NET Core 3.1 WinForms apps since these libraries require some WinForms packages that are supported in .NET Core 3.1 WinForms.
    If you wan to use a document library in .NET Core 3.1(non WinForms), the best option is to go for our GCDocument Solution: https://www.grapecity.com/documents-api-excel
    Otherwise, you may need to add dependency of Microsoft.WindowsDesktop.App.WindowsForms to the console app to use C1Excel.


    The documents-api-excel is very expensive @ $999 per developer to do something that I have already purchased - especially as I have already purchased and recently resubscribed to ComponentOne WinForms which includes the Excel capability I need: https://www.grapecity.com/componentone/excel-library-xlsx-control-net and I was told that it explicitly supports .net core 3.1 but it doesn't seem that it does as it has to be a WinForms app.

    Can you clarify and elaborate your comment that "need to add dependency of Microsoft.WindowsDesktop.App.WindowsForms to the console app to use C1Excel"
    How do I do this exactly? I can't find this DLL or nuget package.
  • Replied 29 June 2020, 6:23 pm EST

    Hi Dave,

    as far as I understand .NETCore, you have to edit the ".csproj" file (or ".vbproj" file) and add the property "UseWindowsForms" = true:


    <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    </PropertyGroup>


    Now the depency will be displayed in the solution explorer:


    Best regards

    Wolfgang
  • Replied 30 June 2020, 2:37 am EST

    If I create a new .netcore 3.1 console application and edit the csproj as you describe, I get a warning when building:
    warning NETSDK1107: Microsoft.NET.Sdk.WindowsDesktop is required to build Windows desktop applications. 'UseWpf' and 'UseWindowsForms' are not supported by the current SDK.
    Note that I haven't even added a reference to C1.C1Excel yet.
  • Replied 30 June 2020, 2:57 am EST

    Hi Dave,
    Actually the SDK needs to be changed to use WindowsDesktop(Microsoft.NET.Sdk.WindowsDesktop) along with setting UseWinFormsForms to true.
  • Replied 1 July 2020, 12:40 am EST

    Yes, you are right - sorry, I forgot about this. Not enough experience with .NETCore

    The project file should be:


    <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
    ...
    <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>

    </PropertyGroup>


    Best regards

    Wolfgang
Need extra support?

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

Learn More

Forum Channels