我们从Github .NET 社区的相关仓库和Issue 里通过三个方面的简要梳理dotnet 对 RISC-V 的支持:

  1. 官方支持
    截至 2025 年 5月,微软官方的 .NET(dotnet)尚未正式支持 RISC-V 架构。官方发布版主要支持 x64、Arm64、s390x(部分平台)等架构,龙芯团队支持了LoongArch架构。RISC-V 目前还属于社区实验和探索阶段,未进入官方支持路线图。在(dotnet/runtime #36748: RISC-V support)多位开发者和社区成员表达了对支持 RISC-V 的兴趣,但官方团队明确表示,RISC-V 的支持需要社区的推动、贡献和相关维护资源。目前该 issue 标记为“Future”,说明官方不会在近期版本内支持,但会持续关注社区需求和进展。如果有足够的社区贡献,未来有可能纳入正式支持计划。

  2. 社区移植进展
    社区中有多项针对 RISC-V 的移植尝试,主要由个人或小组驱动, issue(CoreCLR RISC-V architecture port #84834)的主题是 CoreCLR 对 RISC-V 架构的移植进展总结:

    • 当前进展:

      • 已实现 CodeGen BringUp 测试在 Debug 模式下 100% 通过(在 qemu 和 StarFive VisionFive2 板上)。
      • 相关 PR 部分已合并,部分尚未合并。合并后,主分支在 VisionFive2 和 qemu 上的 CodeGen BringUp 测试应全通过(VisionFive2 需暂时禁用 GC_REGIONS)。
      • VisionFive2 测试结果(Debug,设置 DOTNET_GCgen0size=99999999):
        • JIT 目录:4737 个测试,4304 通过,413 失败,20 跳过
        • 所有测试:6565 个测试,5663 通过,861 失败,41 跳过
    • 近期计划:

      • 继续让 JIT 目录下的测试在 Release/Debug/Checked 模式下全部通过
      • 修复与 JIT 优化无关的 TODO
      • 为 RISC-V 添加 CI,并启用 JitDisasm 和 JitDump
      • 关注更多测试目录,争取更多模式下通过
      • 后续重点还包括库(corefx)测试、jitstress/gcstress 等测试
    • 近期不计划开展的内容:

      • JIT 全优化、交叉编译(crossgen2)、SIMD/内联优化、GC 优化、异常处理、栈遍历、跨语言互操作优化等
    • 工作流程:遵循官方 JIT 移植文档,并将失败测试按错误类型分类。后续会开单独 issue 跟踪正在处理的内容。

    • 相关 issue:#36748, #75749

    • 在 issue(RISC-V NativeAOT port)用于跟踪 .NET NativeAOT 在 riscv64 架构上的移植进展。当前内容包括:

      • 主要记录 NativeAOT 在 riscv64 上的移植工作进度。

      • 移植工作基于 LA64(LoongArch64)架构的相关实现经验。

      • 提供了一个正在进行中的初步移植分支链接,供参考和协作:https://github.com/dotnet/runtime/compare/main...am11:runtime:feature/nativeaot/riscv64-port

      • 该 issue 标注了 area-NativeAOT-coreclr 和 arch-riscv 标签,归属于 Future 里程碑,尚未关闭。

      • 评论数较多(200),表明社区和开发者有较多讨论和参与。

  1. filipnavara/dotnet-riscv 仓库情况
    该仓库即为社区成员 @filipnavara 主导的 .NET RISC-V 移植项目,发布了可用的RISC-V的.NET源码包,特点如下:
  • 目标是让 .NET 运行时(runtime)在 RISC-V 架构上可用,支持托管应用运行。
  • 包含大量针对 RISC-V 架构的底层修改和补丁,涉及 coreclr、corefx 等组件。
  • 项目处于实验和开发阶段,可能并不完全等同于官方主线代码,稳定性和兼容性有限。已经发布了.NET 9 以及v10.0.100-preview.1.25111.1

聊一聊 dotnet 社区对 RISC-V 的支持进展的更多相关文章

  1. [2018-11-27]2018年12月1日宁波dotnet社区线下活动

    离上次活动,转眼又过了一个月,幸得各路大神支持,于本周六(12月1日),宁波dotnet社区的线下分享活动又来啦! 活动嘉宾及主题 董斌辉 2015-2019年微软全球最有价值专家(.NET方向) 2 ...

  2. [2018-11-03]2018年10月28日宁波dotnet社区活动回顾及下次活动预告

    离上次活动,有半年了,汗.之后尽量保证每月一次,以组织为主,多邀请嘉宾来分享. 本次活动不足之处 人手不足:由于活动组织事项受限于人手(目前就我一个,这次活动前后我又应邀给大红鹰学院应届生介绍dotn ...

  3. [2018-10-17]宁波dotnet社区(NBDNC)第一次问卷关于dotnet技术栈的小调查

    最近(2018年10月7日至10月17日),为配合确定下一次社区线下活动主题,做了一次宁波dotnet社区(NBDNC)的本地dotnet技术栈调研,设计了一份问卷,在此做一次记录. 导出的问卷统计结 ...

  4. AOP in dotnet :AspectCore的参数拦截支持

    距离上一篇AspectCore的介绍发布已经很长一段时间了,这篇文章也早该和大家见面,最近一直忙于适应新工作,并在业余时间有幸向何镇汐,Savorboard,农夫,AlexLEWIS等几位大牛请教学习 ...

  5. 2023 年 dotnet 仓库社区年度调查已经开始

    准备好今年对 dotnet 指手画脚了吗,平常在群里我忍气吞声,今天我必须重拳出击,快来参与吧. 我直接一个参的加 .NET 是一个跨平台的开发框架,支持多种语言和应用场景,如 C#.F#.VB.NE ...

  6. odoo 12企业版与免费社区版的区别,价格策略与技术支持指南的全面解析

    Odoo / Ps Cloud收费企业版是对社区版的极大增强,除了增加了很多功能外,最大的功能区别是企业版支持条码而社区版不支持,企业版对手机支持更好.有单独的APP,最重要区别的是企业版提供底层技术 ...

  7. dotnet core多平台开发体验

    前言 随着net core rc2的发布,园子里面关于net core的入门文章也也多了起来,但是大多数都是在一个平台上面来写几个简单的例子,或者是在解释代码本身,并没有体现说在一个平台上面创建一个项 ...

  8. dotnet core多平台开发体验(mac os x 、windows、linux)

    前言 随着net core rc2的发布,园子里面关于net core的入门文章也也多了起来,但是大多数都是在一个平台上面来写几个简单的例子,或者是在解释代码本身,并没有体现说在一个平台上面创建一个项 ...

  9. 温故知新,DotNet Core SDK和.Net CLI十八般武艺

    简介 .NET命令行接口 (CLI) 工具是用于开发.生成.运行和发布.NET应用程序的跨平台工具链. https://docs.microsoft.com/zh-cn/dotnet/core/too ...

  10. dotnet core 使用 MongoDB 进行高性能Nosql数据库操作

    好久没有写过Blog, 每天看着开源的Java社区流口水, 心里满不是滋味. 终于等到了今年六月份 dotnet core 的正式发布, 看着dotnet 社区也一步一步走向繁荣, 一片蒸蒸日上的大好 ...

随机推荐

  1. helm部署redis集群

    Redis 集群部署流程 前提:K8s+helm安装完成 1. 安装 NFS 服务器 1.1 安装 NFS 工具包 在 NFS 服务器上安装 nfs-utils 包: sudo yum install ...

  2. Selenium 报错 提示“unable to find an ant file to run”

    解决:我采用方法2解决成功 翻译:不能找到执行文件 出现问题原因:这个文件是我从电脑A拷贝到电脑B,缺少相应文件导致

  3. wxpython 文件重命名报错提示os.rename WinError 2]系统找不到指定的文件‘

    原因:重命名需要把文件路径带上 源码: for file in files: print(file) os.rename(file, file.replace(beforename, afternam ...

  4. 循环(Java篇)

    令人头痛的循环(:´д`)ゞ 我们在学习循环的时候可能会有点懵,什么是循环?它可以干嘛?我这里为什么要用循环来写这段代码?等问题. 首先我们来讲一下循环可以干嘛 循环是什么?o(′益`)o 在 Jav ...

  5. 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统

    我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统.陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户. 随时近来 AI 大模型的火热,越来越多 ...

  6. Web前端入门第 11 问:HTML 常用标签有多少?全量标签有多少?

    HELLO,这里是大熊学习前端开发的入门笔记. 本系列笔记基于 windows 系统. 截止发文,MDN 收录的 HTML 全量标签有 126 个,有 18 个标记已弃用. 名词解释:MDN --- ...

  7. uniapp 截屏扫码

    最近开发功能遇到个需求,用户点击某个操作之后,需要截取当前屏幕内容,并扫码识别屏幕截图中的二维码,代码如下: 首先将代码抽离到外部文件中,以便复用: // 截图 export function tak ...

  8. [tldr]windows使用scoop安装make工具辅助程序编译

    make是一个好用的GNU工具,用来辅助我们进行自动化的程序编译,只需要一个Makefile文件,即可实现一行指令自动编译 scoop是windows的一个包管理工具 安装 scoop bucket ...

  9. vuepress-reco搭建与部署指南

    个人博客:槿苏的知识铺 一.前言   在技术飞速发展的今天,高效地编写.维护和呈现文档已成为开发者不可或缺的能力.无论是开源项目.团队协作还是个人知识沉淀,一套结构清晰.体验优雅的文档系统都能显著提升 ...

  10. C#通过FTP获取服务端文件

    一.简介   实际需求是在前端修改了配置文件后,由上位机统一分发给所有设备,因为下位机支持FTP协议,因此选用FTP来实现文件传输功能. 二.准备工作 1.FTP服务搭建 FTP服务端选用FileZi ...