DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。
在Microsoft宣布WinForms支持.NET Core 3后,DevExpress技术团队在最新的版本中支持了.NET Core,.NET Core中一项有趣的功能是对单文件可执行AOT编译的应用程序的支持,本文将为大家介绍如何在DevExpress WinForms针对.NET Core 3的示例中演示此功能。
先决条件
首先,您需要安装.NET Core 3 Preview 5 SDK。就本文而言,SDK就是您所需要针对的项目,最新的Visual Studio 2019可用。
使用Git命令行工具、Visual Studio或下载zip文件,在您的计算机上复制 GitHub repository DevExpress .NET Core WinForms Demos 。
请注意,存储库中的文件README.md包含在Visual Studio中使用的演示说明,但这不是必需的,可查看实际的单文件可执行发布机制。
测试单文件可执行发布
打开命令提示符,然后使用cd命令导航到StockMarketTraderApp演示文件夹,运行命令dotnet publish -r win10-x64来构建和发布解决方案,参数-r win10-x64标识应用程序的目标平台。
对于大多数实际场景,应添加参数-c Release来使用Release配置构建应用程序,否则将使用Debug进行构建。
在demo文件夹中,导航到新创建的目录 bin Debug netcoreapp3.0 win10-x64 publish(如果添加了-c Release,则为 bin Release netcoreapp3.0 win10-x64 publish)文件夹 包含需要分发给最终用户的340多个文件,包括您自己的应用程序逻辑程序集、标准.NET和DevExpress程序集。为Release配置生成的文件较少,但差异不大。

运行DevExpress.StockMarketTrader.exe并在任务管理器中检查内存消耗。 在我们的测试机上,该值在220到260 MB之间变化。

要测试单文件可执行发布,请删除文件夹bin。 现在再次运行dotnet publish命令,但是这次添加一个参数来设置MSBuild的PublishSingleFile属性:
dotnet publish -r win10-x64 -c Release -p:PublishSingleFile=true
再次检查自动生成publish文件夹,其路径与以前相同,这次您将看到一个文件夹、一个267 MB的自解压可执行文件。

该文件在任何Windows 10 x64位计算机上运行StockMarketTrader演示,并将应用程序需要的所有内容包含在一个文件中。

首次启动应用程序要比多文件部署花费更长的时间,因为所有依赖项都被解压缩到%AppData%中的临时文件夹中。

在进一步运行时,不会对启动时间或内存消耗造成任何损失。

更多信息
Microsoft保证,在.NET 5发布时,您将能够发布由提前(AOT)编译器创建的单文件可执行文件,来替代现在可用的自解压可执行文件。我们正在密切关注所有.NET Core更新,以确保我们的控件和组件完全支持所有新功能。
有关单文件发布的一些设计文档可用。 如果您好奇,请查看以下链接:
- 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一起使用,最近更新的这些软件包,支持其他程序集,并且现在所有内容都是由.NET Core 3本机构建的。
DevExpress Dashboard控件实操公开课4月即将开启,
DevExpress技术交流群:540330292 欢迎一起进群讨论
扫描关注DevExpress中文网微信公众号,及时获取最新动态及最新资讯
