新的嘗試!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上的步驟類似。

先決條件

  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多年的開發經驗,將爲您的應用系統帶來更爲安全的使用體驗。純中文操作界面,一對一技術支持,廠商級的技術服務,共同造就了這款國際頂級控件套包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章