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

葡萄城技术团队
 葡萄城技术团队
发布于 2019年01月17日
收藏 8

在微软 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上的步骤类似。

先决条件

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

  2. 本Demo是使用VS2019运行的,您可以在此处下载预览版。

  3. 安装ComponentOne WinForms Edition(在此处获取免费试用版)。如果已安装本程序,则可以跳过此步骤。

运行步骤

第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

你好.NET Core

你将看到:Hello .NET Core!

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

Visual Studio中的项目

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示例

.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是一款专注于企业应用高性能开发的 .NET 全功能控件套包,包含300余种控件,支持7大平台,涵盖7大功能模块。较于市面上其他同类产品,ComponentOne更加轻盈,功能更加强大,20多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:新的尝试!ComponentOne WinForm 和 .NET Core 3.0
加载中

精彩评论

我是一棵松,扫地松
我是一棵松,扫地松
葡萄城走错片场了吧

最新评论(9

我是一棵松,扫地松
我是一棵松,扫地松
葡萄城走错片场了吧
Roshomon
Roshomon
支持.net core
潘金莲子羹
潘金莲子羹
@红署 这个不是开源软件吧?
ViperWhip
ViperWhip
原生form竞争者真少的可怜……
全体人员
全体人员
我电脑里还有vb6.0
MuskIron
MuskIron
我不想跳坑。。。
MrNice
MrNice

引用来自“melc”的评论

Core SDK3.0已经安装了, 按照你的步骤成功运行HelloWorld ...
VS2019新建WinForm程序怎么没有.net core , 只有framework ....
要用命令行新建,vs的新建模版还没集成
melc
melc
Core SDK3.0已经安装了, 按照你的步骤成功运行HelloWorld ...
VS2019新建WinForm程序怎么没有.net core , 只有framework ....
chuangyu
chuangyu
当年写vb的时候用过。
返回顶部
顶部