像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本相关的知识,希望对你有一定的参考价值。

现代.NET和C#在低级/系统程序以及与C/C++/Rust等互操作方面的能力完全令各位刮目相看了,有人用C#开发的64位操作系统: GitHub - nifanfa/MOOS: C# x64 operating system pro...,截图要介绍的是

一个结合Roslyn和NativeAOT的实验性编译器bflat :https://github.com/bflattened/bflat。

一年前的公众号文章 打造史上最小尺寸.Net Core单文件应用程序 给我们介绍了bflat , 今天发布了7.0 版本,意味着从一个实验性的工具变成了一个可用的编译器,我们可以用它像go 哪样编译c# 程序。

作者在github readme 上是这么介绍它的:bflat之于dotnet,就像VS Code之于VS一样。像NativeAOT(Bflat构建的)和Graal Native Image这样的东西让这些语言可以减小二进制大小,加快启动速度和部署模型,类似于Go和Rust开发人员所享受的。

作者的ZeroSharp项目也很有趣。它演示如何在没有任何运行时的情况下编译 C#。没有垃圾回收, 您可以耍特技,例如制作 5KB Hello World 或无需操作系统运行的 EFI 应用程序:

https://github.com/MichalStrehovsky/zerosharp 。

首先,下载最新版bflat(https://github.com/MichalStrehovsky/bflat/releases),并解压到C:\\bflat-7.0.0-windows-x64。

然后克隆代码库里的Sample 进行体验:https://github.com/bflattened/bflat/tree/master/samples

以上是关于像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本的主要内容,如果未能解决你的问题,请参考以下文章

如何打造单文件 Blazor Server 应用

Go 包管理

Go使用Go语言打造定时提醒小工具,从基础到优化全方位探索

.NET周报10月最后一期 2022-11-01

AOT和单文件发布对程序性能的影响

Go语言基础