DevExpress Winforms使用技巧教程:使用.NET Core 3的單文件應(yīng)用
下載DevExpress v19.2完整版 DevExpress v19.2漢化資源獲取
DevExpress Winforms Controls 內(nèi)置140多個UI控件和庫,完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序。想要體驗?點擊下載>>
在Microsoft宣布WinForms支持.NET Core 3后,DevExpress技術(shù)團(tuán)隊在最新的版本中支持了.NET Core,.NET Core中一項有趣的功能是對單文件可執(zhí)行AOT編譯的應(yīng)用程序的支持,本文將為大家介紹如何在DevExpress WinForms針對.NET Core 3的示例中演示此功能。
先決條件
首先,您需要安裝.NET Core 3 Preview 5 SDK。就本文而言,SDK就是您所需要針對的項目,最新的Visual Studio 2019可用。
使用Git命令行工具、Visual Studio或下載zip文件,在您的計算機上復(fù)制 GitHub repository DevExpress .NET Core WinForms Demos 。
請注意,存儲庫中的文件README.md包含在Visual Studio中使用的演示說明,但這不是必需的,可查看實際的單文件可執(zhí)行發(fā)布機制。
測試單文件可執(zhí)行發(fā)布
打開命令提示符,然后使用cd命令導(dǎo)航到StockMarketTraderApp演示文件夾,運行命令dotnet publish -r win10-x64來構(gòu)建和發(fā)布解決方案,參數(shù)-r win10-x64標(biāo)識應(yīng)用程序的目標(biāo)平臺。
對于大多數(shù)實際場景,應(yīng)添加參數(shù)-c Release來使用Release配置構(gòu)建應(yīng)用程序,否則將使用Debug進(jìn)行構(gòu)建。
在demo文件夾中,導(dǎo)航到新創(chuàng)建的目錄\ bin \ Debug \ netcoreapp3.0 \ win10-x64 \ publish(如果添加了-c Release,則為\ bin \ Release \ netcoreapp3.0 \ win10-x64 \ publish)文件夾 包含需要分發(fā)給最終用戶的340多個文件,包括您自己的應(yīng)用程序邏輯程序集、標(biāo)準(zhǔn).NET和DevExpress程序集。為Release配置生成的文件較少,但差異不大。
運行DevExpress.StockMarketTrader.exe并在任務(wù)管理器中檢查內(nèi)存消耗。 在我們的測試機上,該值在220到260 MB之間變化。
要測試單文件可執(zhí)行發(fā)布,請刪除文件夾bin。 現(xiàn)在再次運行dotnet publish命令,但是這次添加一個參數(shù)來設(shè)置MSBuild的PublishSingleFile屬性:
dotnet publish -r win10-x64 -c Release -p:PublishSingleFile=true
再次檢查自動生成publish文件夾,其路徑與以前相同,這次您將看到一個文件夾、一個267 MB的自解壓可執(zhí)行文件。
該文件在任何Windows 10 x64位計算機上運行StockMarketTrader演示,并將應(yīng)用程序需要的所有內(nèi)容包含在一個文件中。
首次啟動應(yīng)用程序要比多文件部署花費更長的時間,因為所有依賴項都被解壓縮到%AppData%中的臨時文件夾中。
在進(jìn)一步運行時,不會對啟動時間或內(nèi)存消耗造成任何損失。
更多信息
Microsoft保證,在.NET 5發(fā)布時,您將能夠發(fā)布由提前(AOT)編譯器創(chuàng)建的單文件可執(zhí)行文件,來替代現(xiàn)在可用的自解壓可執(zhí)行文件。我們正在密切關(guān)注所有.NET Core更新,以確保我們的控件和組件完全支持所有新功能。
有關(guān)單文件發(fā)布的一些設(shè)計文檔可用。 如果您好奇,請查看以下鏈接:
- https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md
- https://github.com/dotnet/designs/blob/master/accepted/single-file/staging.md
- https://github.com/dotnet/designs/blob/master/accepted/single-file/extract.md
DevExpress Winforms For .NET Core 3
DevExpress NuGet軟件包可用于將WinForms組件與.NET Core 3一起使用,最近更新的這些軟件包,支持其他程序集,并且現(xiàn)在所有內(nèi)容都是由.NET Core 3本機構(gòu)建的。
DevExpress Dashboard控件實操公開課4月即將開啟,
DevExpress技術(shù)交流群:540330292 歡迎一起進(jìn)群討論
掃描關(guān)注DevExpress中文網(wǎng)微信公眾號,及時獲取最新動態(tài)及最新資訊