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

在微软 Build 2018 开发者大会上,.NET 团队公布了 .NET Core 的下一个主要版本 .NET Core 3.0 的规划蓝图:.NET Core 3将开始支持Windows桌面应用程序,包括Windows Form、Wind

 在微软 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 (https://www.grapecity.com.cn/developer/componentone-enterprise)将继续增强产品功能、增加新的控件并全面兼容 .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 SDKhttps://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中打开它。

(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>WinExeOutputType> 

  <TargetFramework>netcoreapp3.0TargetFramework> 

  <UseWindowsForms>trueUseWindowsForms> 

  <generateassemblyinfo>falsegenerateassemblyinfo> 

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 的开源,ComponentOnehttps://www.grapecity.com.cn/developer/componentone-enterprise) 也将迎来更多改变,针对桌面应用程序、.NET Core Web API,ComponentOne将推出一系列全新控件和增强功能。
期待 ComponentOne 2019 将带给您更多惊喜!

 

关于葡萄城

赋能开发者!葡萄城公司成立于 1980 年,是全球领先的集开发工具、商业智能解决方案、管理系统设计工具于一身的软件和服务提供商。西安葡萄城是其在中国的分支机构,面向全球市场提供软件研发服务,并为中国企业的信息化提供国际先进的开发工具、软件和研发咨询服务。葡萄城的控件和软件产品在国内外屡获殊荣,在全球被数十万家企业、学校和政府机构广泛应用。

热门文章HOT NEWS
网址导航>>
中文科技资讯 科技魔方 高科技网 财经资讯网 汽车点讯 中国财经消费网 高端金融网 祥房网 中国新闻热线 家电资讯网 财经快讯网 中国财经热线网