登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
.NET 10 社区SDK(Loongarch 和 RISC-V)
.NET 10 社区SDK(Loongarch 和 RISC-V)
[ 复制链接 ]
准挝
2025-11-26 09:45:02
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
在微软发布了.NET 10(X86/X64/ARM)版本的同时,社区也同时基于Github Action流水线发布了.NET 10 的社区SDK(Loongarch 和 RISC-V),这篇文章重点就是介绍.NET 10 社区SDK(Loongarch 和 RISC-V)。
一、Loongarch(loongarch64 / Loongson)上 .NET 10
概览
发布:v10.0.100-loongarch64(tag)
发布者(自动化):github-actions[bot]
发布时间(UTC):2025-11-14T13:21:44Z
类型:prerelease(预发布)
目标分支:build
Release 页面正文为空(未附带额外说明),但包含一组构建产物(tar.gz 与 NuGet 包)用于 loongarch64 平台。
仓库:
https://github.com/loongson/dotnet
重点说明
支持平台:loongarch64(即 Loongson CPU 架构的 Linux)。
覆盖范围:SDK、运行时(dotnet runtime)、ASP.NET Core 运行时、NativeAOT 运行时、Crossgen2、ILCompiler、Host 包和若干 native/系统库的 NuGet 包与源构建产物。
这是“预发布”构建,说明可能是针对 Loongson 社区或内部构建发布来验证在 loongarch64 上的兼容性和功能;在生产环境使用前应充分测试。
如何下载(示例)
直接使用 Release 下载 URL(示例):
https://github.com/loongson/dotnet/releases/download/v10.0.100-loongarch64/dotnet-sdk-10.0.100-linux-loongarch64.tar.gz
或在 Release 页面通过“Assets”手动下载相应文件。
快速安装(常规 tarball 安装步骤,适用于大多数 Linux 发行版)
下载 tarball 到主机
curl -L -o dotnet-sdk.tar.gz "
https://github.com/loongson/dotnet/releases/download/v10.0.100-loongarch64/dotnet-sdk-10.0.100-linux-loongarch64.tar.gz
"
解压并放到系统目录
sudo mkdir -p /usr/share/dotnet
sudo tar -zxf dotnet-sdk.tar.gz -C /usr/share/dotnet
创建可执行链接并设置环境变量
sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:/usr/share/dotnet (注:上面是常用做法,视你的发行版和安全策略调整。某些发行版或包管理器可能需要不同的步骤。)
测试建议
验证 dotnet 可执行:
dotnet --info
编译并运行一个简单的 Console 应用:
dotnet new console -o testapp && cd testapp && dotnet run
针对 ASP.NET:使用 aspnetcore-runtime 的示例应用部署与访问测试。
测试 NativeAOT、Crossgen2、以及涉及 System.IO.Ports 的功能(若你需要串口支持)。
风险与注意事项
由于是预发布版本,可能包含未解决的问题或性能/互操作性差异,建议在非生产环境先进行完整回归测试。
若你依赖第三方原生库或特定 Linux 发行版的 ABI,测试兼容性很重要。
二、RISC-V .NET 10
概览
发布标题 / 标签:10.0.100-rtm.25561.199 (tag: 10.0.100-rtm.25561.199)
发布时间:2025-11-12T00:45:00Z
发布类型:预发布 (prerelease: true)
目标分支:main
作者:github-actions[bot](自动化构建/上传)
仓库:
https://github.com/filipnavara/dotnet-riscv
附件(资产):dotnet-sdk-10.0.100-rtm.25561.199-linux-riscv64.tar.gz
说明:这是为 Linux on RISC‑V (riscv64) 提供的 .NET 10 SDK 二进制包
简要解释
这是一个面向 RISC‑V(riscv64)的 .NET 10 SDK 的 RTM 构建包,发布为预发行版,表明它是供测试/早期试用的构建而非正式稳定发布(没有随附发布说明或变更日志)。资产名称显示这是一个 Linux 平台的 tar.gz 安装包。
三、基于GitHub Actions 流水线发布 .NET SDK
.NET 10 社区SDK(Loongarch 和 RISC-V)能够快速的同步进行构建发布,主要是从.NET 9 开始实现了基于同一套代码基线构建.NET SDK的基础设施,下面就基于 GitHub Actions 流水线发布 .NET SDK的原理与典型过程拆成几个部分来讲清楚:总体流程、关键步骤、所需凭证/基础设施、常见实现细节(包含示例 workflow 片段)、以及注意事项与最佳实践。最后我会列出如果你想要我继续可以帮你做的后续工作。
3.1、总体概念(为什么要用 CI/CD 发布 SDK)
目标:把源码编译成跨平台的 SDK 二进制/安装包(zip/tar、pkg/dmg、msi/deb/rpm 等),做签名、生成校验和、上传到发布位置(GitHub Release、Azure Blob/Storage、官方 feed 或镜像站),并更新安装脚本/渠道(例如 dotnet-install 脚本或网站上的版本清单)。
GitHub Actions 作为自动化引擎:触发(tag/release、手动/dispatch、定时)→ 构建 → 测试 → 打包/签名 → 发布 → 后置更新/通知。
区分 CI(PR 验证、快速构建)与 Release 流水线(正式标签触发、全量测试与签名、需要敏感凭据)。
3.2、典型流水线阶段(按顺序)
触发(Trigger)
常见触发:push tag(例如 v10.0.0-preview1 或 v10.0.0),release created、workflow_dispatch(手动触发)、或从发布协调器触发的 API 调用。
Release 流程通常只在经过人工审核或特殊权限后允许写入敏感凭据/生产证书的 runner 上运行。
环境准备 / Checkout
使用 actions/checkout 拉代码。
设置必要的运行环境(选择 runner:ubuntu-latest、windows-latest、macos-latest 或自托管 runner;很多 SDK 发布依赖自托管 Windows/macOS 机器来完成代码签名或生成 platform-specific installer)。
拉取子模块或相关 repo(例如 runtime、libraries、installer 模块等)。
引导/依赖安装
运行构建脚本的引导(对 .NET 常见是 repo 镶嵌的 build.ps1/build.sh 或使用 repo-toolset)。
如果是交叉构建,可能需要先安装早期版本的 dotnet 来做 bootstrapping(使用 dotnet-install 脚本或 actions/setup-dotnet)。
编译(Build)
多 OS/arch 的矩阵构建(x64/arm64;Windows/Linux/macOS)。
构建会生成 runtime、host、sdk 二进制,可能会调用 msbuild/dotnet build/clang/gcc 等。
构建输出分目录(sdk、shared runtime、hostfxr、hostpolicy、packs 等)。
测试(Tests)
单元测试、集成测试、回归测试。
对 Release 通常会更多:较长时间的 E2E、兼容性测试、安装与卸载测试、sample app 运行测试。
有时会在不同平台上做“smoke tests”来确保包可以实际执行。
打包(Package)
生成 SDK zip/tar、NuGet 包、Windows MSI、macOS pkg 或 dmg、Linux deb/rpm。
生成校验和(sha256/sha512),并生成版本元数据(manifest/json),用于后续下载/安装脚本解析。
签名(Code/Artifact Signing)
对可执行文件、安装包进行代码签名(Windows 使用 SignTool + EV 证书、macOS 使用 codesign + notarize、包使用 GPG 签名或微软的签名流程)。
这一步通常需要访问机密(证书、私钥、时间戳服务),生产环境多用自托管 runner 或安全的签名服务。
发布(Publish / Upload)
上传构建产物到发布存储:
GitHub Releases(创建 release 并上传 asset)
Azure Blob Storage / CDN(供下载安装)
官方 feed(如 NuGet、internal feeds)
镜像站、内部渠道
更新安装脚本或版本清单(例如更新 dotnet-install 的 JSON 或网站的下载页面),并将变更推送到相应 repo(可能需要另一个工作流或 API 调用)。
后置工作(Post-release)
通知(Slack 邮件)/更新文档/创建 release notes。
CDN 缓存失效、镜像同步。
监控发布后的用户反馈 / 自动化探测(如 health checks、telemetry 验证)。
3.3、关键基础设施与凭据
自托管 runners:用于访问私有签名证书或生成 macOS notarize(Apple 只在 macOS 上能做)。
Secrets(GitHub Secrets / Azure Key Vault / HashiCorp Vault):
代码签名证书(.pfx 或硬件密钥访问的凭据)。
Apple Developer 密钥、notary credentials。
GPG 私钥(如果用 GPG 签名)。
Azure Storage connection string / SAS token / Azure AD client secret(用于上传到 blob)。
NuGet API keys(发布包)。
GitHub token(用于创建 release、上传 release assets,注意权限限定)。
时间戳服务 / Timestamp URLs:在代码签名时保持长期有效性。
Artifact 存储与 CDN:用于高速下载并支持回滚/版本管理。
3.4、常见实现细节与自动化点
构建并行化:用矩阵 jobs 构建多个 OS/arch,或把某些构建拆成并行 job 来加速。
依赖缓存:actions/cache 缓存 NuGet 包和构建中间产物,减少重复耗时工作。
可复现/可审计:
生成 SBOM(软件物料清单)。
生成构建元数据(构建ID、commit、时间戳),并写入 release notes/manifest。
SLSA/Provenance:签署构建证明(使用 sigstore 等)以保证来源可验证。
Release gating 与手动审批:
对 release job 使用 environment protection rules(需要手动批准或审核)。
对访问敏感 secrets 的 job 限制为特定环境或 runner。
打包的跨平台差异:
Windows:MSI/ZIP/EXE,需 SignTool,可能还要生成 installer bootstrapper。
macOS:pkg/dmg, codesign + notarize(需要 Apple Notary)。
Linux:deb/rpm,不签名二进制但可以签署包(RPM签名、GPG)并上传到 apt/yum repo。
发布渠道管理:
维护“preview”和“stable”频道:通过不同 tag/manifest 决定 dotnet-install 脚本哪个版本被默认下载安装。
有时候会分阶段发布(先到 Canary/staging/insider,再到 public stable)。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
NET
社区
SDK
Loongarch
RISC
相关帖子
Microsoft将.NET Aspire 改成了Aspire
C#/.NET/.NET Core技术前沿周刊 | 第 62 期(2025年11.17-11.23)
社区新体验!一款基于 Golang + Vue 的开源社区系统!
使用.NET开发并上线一个小智AI对话机器人的MCP服务转接平台
.Net中WebApiController如何实现多版本兼容?
边界突围:中国.NET技术的七年认知演进与社区化生态重构
.NET+AI | MEAI | 自定义中间件(8)
基于 JSON 配置的 .NET 桌面应用自动更新方案
.NET周刊【11月第2期 2025-11-09】
微信 SDK + Senparc.AI + MCP 打造微信 AI 开发助手
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Microsoft将.NET Aspire 改成了Aspire
0
48
左丘纨
2025-11-23
业界
C#/.NET/.NET Core技术前沿周刊 | 第 62 期(2025年11.17-11.23)
1
387
剧拧并
2025-11-24
安全
社区新体验!一款基于 Golang + Vue 的开源社区系统!
1
4
肇默步
2025-11-24
业界
使用.NET开发并上线一个小智AI对话机器人的MCP服务转接平台
0
998
东门清心
2025-11-26
业界
.Net中WebApiController如何实现多版本兼容?
0
588
孜尊
2025-11-27
业界
边界突围:中国.NET技术的七年认知演进与社区化生态重构
0
326
打阗渖
2025-11-30
业界
.NET+AI | MEAI | 自定义中间件(8)
0
83
田雅宁
2025-11-30
业界
基于 JSON 配置的 .NET 桌面应用自动更新方案
0
810
衣旱
2025-12-02
业界
.NET周刊【11月第2期 2025-11-09】
0
285
汤昕昕
2025-12-02
业界
微信 SDK + Senparc.AI + MCP 打造微信 AI 开发助手
0
807
精滂软
2025-12-03
回复
(1)
奚娅琼
4 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
准挝
4 天前
关注
0
粉丝关注
19
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845355
3934307807
991122
4
xiangqian
638210
5
宋子
9987
6
闰咄阅
9991
7
刎唇
9993
8
俞瑛瑶
9998
9
蓬森莉
9952
10
匝抽
9986
查看更多