V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
powertoolsteam
V2EX  ›  推广

新的尝试! ComponentOne WinForm 和 .NET Core 3.0

  •  
  •   powertoolsteam · 2019-02-15 11:44:45 +08:00 · 1717 次点击
    这是一个创建于 2093 天前的主题,其中的信息可能已经有所发展或是发生改变。
    新的尝试! ComponentOne WinForm 和 .NET Core 3.0

    在微软 Build 2018 开发者大会上,.NET 团队公布了 .NET Core 的下一个主要版本 .NET Core 3.0 的规划蓝图:.NET Core 3 将开始支持 Windows 桌面应用程序,包括 Windows Form、Windows Presentation Framework ( WPF )和 UWP XAML。届时在 .NET Core 3 上将能运行 Windows 桌面应用程序,在享受 .NET Core 新架构优势便利的同时,兼容老的 .net 应用。目前为止,.Net Core 3.0 的首个预览版已正式发布,而正式版本也将在今年全面推出。

    作为经典的全功能 .NET 控件集,ComponentOne 技术团队一直专注于行业未来的发展方向,2019 年 ComponentOne 将继续增强产品功能、增加新的控件并全面兼容 .Net Core 3.0。

    在此之前,ComponentOne 技术团队一直致力于研究框架和库的变化和兼容性。因此,在 .Net Core 3.0 正式版中使用任何 ComponentOne 控件将不需要进行任何更改(由于某些类缺少,有些控件当前在 .Net Core 3.0 预览版中不起作用。要了解未解决的问题,请跳至本博客的最后一部分)。

    现在,我们将以 ComponentOne 其中一个 Demo 为例,看看如何将它移植到 .NET Core 3.0 中,此步骤与 GitHub ( https://github.com/dotnet/samples/tree/master/windowsforms )上的步骤类似。

    先决条件

    1.安装 .NET Core 3.0 SDK ( https://dotnet.microsoft.com/download/dotnet-core/3.0 )。选择适当您的平台下载安装程序(如果您使用的是 64 位操作系统,请使用 x64 ;如果您使用的是 32 位操作系统,请选择 x86 )。

    2.本 Demo 是使用 VS2019 运行的,您可以在此处( https://visualstudio.microsoft.com/vs/preview/ ) 下载预览版。

    3.安装 ComponentOne WinForms Edition (在此处获取免费试用版( https://www.grapecity.com.cn/download/?pid=2 ))。如果已安装本程序,则可以跳过此步骤。

    运行步骤

    第 1 步
    考虑到 VS2019 预览版中的工具有限,缺少 WinForms 的项目模板,我们将使用命令提示符创建一个新项目。打开命令提示符并运行以下命令:

    dotnet new winform -o TestWFCore

    上述代码会创建一个名为 TestWFCore 的新项目。该项目位于 c:\ Users ( YourAccount )下

    通过命令提示符导航到项目目录

    cd TestWFCore

    第 2 步
    通过命令提示符添加 Windows 兼容包,如下所示:

    dotnet add package Microsoft.Windows.Compatibility

    第 3 步
    使用 dotnet run 运行应用程序以确保项目正常工作。

    dotnet run

    你将看到:Hello .NET Core!

    现在我们可以在 Visual Studio 中打开它。


    第 4 步
    我们将在.Net Core 3.0 中运行现有示例,我们将在此位置进行移植“ ComboBoxItemModes ”输入示例:

    〜\ Documents \ ComponentOne Samples \ WinForms \ C1Input \ CS \ ComboBoxItemModes

    将上述示例中的所有 csharp 文件链接到此项目。同时包含 licences.licx,它位于 Properties 文件夹下。

    将 licenses.licx 文件标记为嵌入资源。

    大多数现有项目都包含 Properties 文件夹中的 AssemblyInfo.cs 文件。新项目样式使用不同的方法,并在构建过程中生成相同的程序集属性。要禁用该行为,可以添加属性 GenerateAssemblyInfo:

    <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <generateassemblyinfo>false</generateassemblyinfo>
    </PropertyGroup>

    第 5 步
    添加 C1.Win.Input 程序集的参考。

    第 6 步
    修改 program.cs 文件以创建 Form1 的实例并运行该应用程序。这类似于任何 WinForms 应用程序。

    class Program
    {
    static void Main()
    {
    Application.Run(new Form1());
    }
    }

    第 7 步
    构建并运行应用程序

    Demo 示例下载

    按照上述步骤,我们创建了一个简单的示例,用于在 .NET Core 3.0 中运行不同的 ComponentOne 控件,段尾提供了 Demo 的下载示例。在运行示例之前,请查看自述文件。您将在以下位置找到 .NET Core 3.0 项目文件:〜\ DotNetCore3Sample \ WinForms \ CS \ DotNetCore3 \ DotNetCore3

    .NET Core 3 示例( https://www.grapecity.com.cn/downloads/demo/dotnetcore3sample.zip

    .NET Core 3.0 预览中的问题
    目前,由于 .NET Core 3.0 预览版尚未移植 WinForms 类,FlexGrid、TrueDbGrid、ThemeController 和 Command 在 .NET Core 3.0 预览版中运行时会出现 bug。这些 bug 会在下一个预览版中得到修复:

    https://github.com/dotnet/corefx/pull/33452

    最后
    伴随着 .NET Core 3.0 的到来,以及 WinForm 和 WPF 的开源,ComponentOne 也将迎来更多改变,针对桌面应用程序、.NET Core Web API,ComponentOne 将推出一系列全新控件和增强功能。

    期待 ComponentOne 2019 将带给您更多惊喜!

    ComponentOne Enterprise
    ComponentOne ( http://www.grapecity.com.cn/developer/componentone-enterprise )是一款专注于企业应用高性能开发的 .NET 全功能控件套包,包含 300 余种控件,支持 7 大平台,涵盖 7 大功能模块。较于市面上其他同类产品,ComponentOne 更加轻盈,功能更加强大,20 多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。
    shadownet
        1
    shadownet  
       2019-02-15 13:15:54 +08:00
    最希望有的是 WCF,老系统,没办法
    powertoolsteam
        2
    powertoolsteam  
    OP
       2019-02-15 14:24:27 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4740 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 04:00 · PVG 12:00 · LAX 20:00 · JFK 23:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.