在微软 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

你将看到: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/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多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。

新的尝试!ComponentOne WinForm 和 .NET Core 3.0相关推荐

  1. 全新尝试|ComponentOne WinForm和.NET Core 3.0

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

  2. .NET Core 2.0 Preview2 发布汇总

    前言 关于 ASP.NET Core 2.0 的新功能可以查看 Amazing ASP.NET Core 2.0. 这篇文章是 Priview2中的一些改进. .NET Core 2.0 - Prev ...

  3. 玩转 HMS Core 6.0,详解开发者该知道的黑科技……

    不久前,华为 HMS Core 6.0在华为开发者联盟官网正式上线,作为HMS生态的重要组成部分,HMS Core为开发者提供各种软硬件开放能力和服务,让开发者更好地聚焦应用创新与开发,同时为用户带来 ...

  4. [转帖]2016年时的新闻:ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

    ASP.NET Core 1.0.ASP.NET MVC Core 1.0和Entity Framework Core 1.0 http://www.cnblogs.com/webapi/p/5673 ...

  5. 在.Net Core 3.0中尝试新的System.Text.Json API

    .NET Core 3.0提供了一个名为System.Text.Json的全新命名空间,它支持reader/writer,文档对象模型(DOM)和序列化程序.在此博客文章中,我将介绍它如何工作以及如何 ...

  6. 用WinForm/WPF代码来为.NET Core 3.0功能投票

    我们在5月报道过微软希望在.NET Core 3.0上运行WinForms和WPF.为了实现这个目标,他们正在构建一个新工具,该工具将允许你投票以决定他们需要把哪些API移植到.NET Core.但是 ...

  7. .NET Core 3.0 正式公布:新特性详细解读

    点击蓝字"dotNET匠人"关注我哟 加个"星标★",每日 7:15,好文必达! 作者丨Richard Lander 译者丨核子可乐 策划丨赵钰莹 近日,.NE ...

  8. .Net Core 6.0 + Vue 项目尝试

    .Net Core 6.0 +vue 项目尝试 先叨叨两句 新建一个vue项目 前置环境 创建项目 安装前端组件 先叨叨两句 .net core又双叒叕升级了,把VS升级到2022,.net core ...

  9. Entity Framework Core 2.0的新特性

    虽然EF Core 2.0存在大量槽点,但是它也给出了不少亮点.在本文中,我们将介绍这次发布版的部分亮点. \\ 数据库表切分(Table Splitting) \\ ORM常被吐槽是总是对所请求数据 ...

最新文章

  1. 单例模式(全局地提供了一个类的唯一对象,该类的对象只创建一次,避免了创建类对象的开销)
  2. 跨域产生的原因及解决方法
  3. memcache 基础原理
  4. nodejs+express+mongodb简单的例子
  5. android tcp socket框架_socket网络编程知识梳理,让你学会造轮子的能力
  6. 2009年广东省大学生程序设计竞赛 A
  7. [Code Snipper]图片轮换
  8. Texpad for Mac(LaTeX编辑器软件)
  9. [回溯法] 求n个元素的集合的幂集 - 递归实现 - C语言
  10. 电商支付-使用Restful api接口集成Paypal支付方式(一)
  11. Scrapy-豆瓣电影Top250
  12. 计算机acaa证书,ACAA 认证三维模型师
  13. mysql frm myd myi 恢复_通过*.frm,*.myd,*.myi文件恢复mysql数据库
  14. c语言指数公式_c语言指数函数(c语言如何表示指数函数)
  15. 联想台式计算机光驱启动,联想电脑怎么设置光驱启动【图文】
  16. 若语句char a = ‘\72‘; 则变量a包含几个字符?‘\72‘是否在ASCII值的范围之内?
  17. java计算机毕业设计技术的游戏交易平台源代码+数据库+系统+lw文档
  18. 三种快排及四种优化方式
  19. 防复制防破解小区门禁梯控升级非联网CPU卡脱机写卡门禁梯控一卡通系统92HID623CPU V5.00操作说明之用户卡加密发卡设置说明
  20. ## 看看sass和less会遇到的问题吧

热门文章

  1. 互联网 应该知道的相关名词
  2. Android实现全局返回(手机虚拟返回键)
  3. Golang实现的[]byte和int转化
  4. 【python】批量判断元素是否在列表里,你所在的城市是几线城市
  5. HTTPS与DNS劫持
  6. 高等数学-极限章节的知识框架图谱
  7. R语言中使用table统计样本的出现频率
  8. 四色定理已利用计算机证明,地图四色定理的非计算机证明
  9. linux下ftp教程视频,linux FTP服务器wmv视频教程
  10. Linux服务器系统