国内自主的龙芯,在做龙芯技术生态就把 .NET 作为其中一部分考虑进去,这也将对接下来国内.NET应用场景充满了期待。通过dotnet/runtime 可以知道现在龙芯版本的 .NET 已经合并到.NET 7 官方分支的工作已经完成了。LoongArch64架构合并进入.NET 7.0 已经安排了独立的Project进行管理:https://github.com/dotnet/runtime/projects/70, 这里面的所有工作都已经完成了。
早在2019年7月 龙芯就开始筹划将.NET移植到龙芯平台,2020年完成了MIPS64架构的.NET Core-3.1版本相关代码已经开源,(MIPS64目前已处于只维护状态;已停止版本更新开发)。2021年全面转向LoongArch架构的.NET 6的研发,2021年12月,龙芯已经开始向.NET开源社区main分支 提交支持LoongArch64架构的源代码, 历时半年的时间完成了代码合并工作。
接下来就是LoongArch架构的.NET 产品化的问题了,据悉龙芯.NET 团队 在本地已经有了一个.NET 6版本,龙芯的一个子公司客户项目已经用了,正式上生产了。龙芯.NET 团队正在完善一个优化小特性,相信龙芯.NET团队 就会发布.NET 6 正式版本。
另外就是.NET 7.0 for LoongArch架构的版本发布,由于上游社区kernel和docker什么的还没有LongArch的,目前在.NET 社区并没有CI 环境来完全支持LoongArch的社区版本发布了,龙芯.NET团队也正在完善.NET 7 for LoongArch的环境,比如 NativeAOT在LoongArch的支持工作都需要开发。
龙芯在硬件上实现CPU源代码自己写,在软件上选择拥抱开源,从开源中来,到开源中去,是既能保障硬件的自主性,又能借助开源社区力量建设软件生态的良策。国产化环境下对于Linux桌面应用的需求是最大的,Windows桌面开发框架WPF 由于和Windows的强绑定无法跨平台,社区已经有同学在试类WPF框架开源框架Avalonia,JetBrains 的采用Avalonia做产品,期望龙芯.NET 上也可以支持Avalonia 框架开发Linux桌面。