• Winforms平台界面开发技巧分享——使用.NET Core 3的单文件应用


    下载DevExpress v19.2完整版

    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 Winforms使用技巧教程

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

    DevExpress Winforms使用技巧教程

    要测试单文件可执行发布,请删除文件夹bin。 现在再次运行dotnet publish命令,但是这次添加一个参数来设置MSBuild的PublishSingleFile属性:

    dotnet publish -r win10-x64 -c Release -p:PublishSingleFile=true

    再次检查自动生成publish文件夹,其路径与以前相同,这次您将看到一个文件夹、一个267 MB的自解压可执行文件。

    DevExpress Winforms使用技巧教程

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

    DevExpress Winforms使用技巧教程

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

    DevExpress Winforms使用技巧教程

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

    DevExpress Winforms使用技巧教程
    更多信息

    Microsoft保证,在.NET 5发布时,您将能够发布由提前(AOT)编译器创建的单文件可执行文件,来替代现在可用的自解压可执行文件。我们正在密切关注所有.NET Core更新,以确保我们的控件和组件完全支持所有新功能。

    有关单文件发布的一些设计文档可用。 如果您好奇,请查看以下链接:

    DevExpress Winforms For .NET Core 3

    DevExpress NuGet软件包可用于将WinForms组件与.NET Core 3一起使用,最近更新的这些软件包,支持其他程序集,并且现在所有内容都是由.NET Core 3本机构建的。


    DevExpress Dashboard控件实操公开课4月即将开启,

    专家名师在线直播,免费听课名额先到先得~

    DevExpress技术交流群:540330292      欢迎一起进群讨论

    扫描关注DevExpress中文网微信公众号,及时获取最新动态及最新资讯

    DevExpress中文网微信
  • 相关阅读:
    POJ 2348 Euclid's Game【博弈】
    POJ 2484 A Funny Game【博弈】
    HDU 4193 Non-negative Partial Sums【单调队列】
    占坑补题
    Codeforces 658D Bear and Polynomials【数学】
    Codeforces 658C Bear and Forgotten Tree 3【构造】
    Codeforces 658B Bear and Displayed Friends【set】
    POJ 1704 Georgia and Bob【博弈】
    1001. A+B Format

  • 原文地址:https://www.cnblogs.com/AABBbaby/p/12671557.html
Copyright © 2020-2023  润新知