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

23次阅读

共计 2440 个字符,预计需要花费 7 分钟才能阅读完成。

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

安装 .NET Core 3.0 SDK。选择适当您的平台下载安装程序(如果您使用的是 64 位操作系统,请使用 x64;如果您使用的是 32 位操作系统,请选择 x86)。
本 Demo 是使用 VS2019 运行的,您可以在此处下载预览版。
安装 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

你将看到: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>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/cor…
最后
伴随着 .NET Core 3.0 的到来,以及 WinForm 和 WPF 的开源,ComponentOne 也将迎来更多改变,针对桌面应用程序、.NET Core Web API,ComponentOne 将推出一系列全新控件和增强功能。
期待 ComponentOne 2019 将带给您更多惊喜!
ComponentOne Enterprise
ComponentOne 是一款专注于企业应用高性能开发的 .NET 全功能控件套包,包含 300 余种控件,支持 7 大平台,涵盖 7 大功能模块。较于市面上其他同类产品,ComponentOne 更加轻盈,功能更加强大,20 多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。

正文完
 0