移花接木 —— 在其它平台上为 LoongArch 架构打包 .NET 程序
💡
原文中文,约7500字,阅读约需18分钟。
📝
内容提要
龙芯已为LoongArch架构移植了.NET运行时,但由于linux-loongarch64 RID仅为社区支持,NuGet上缺乏相应包。可以通过不使用AppHost发布或将龙芯.NET SDK中的运行时包提取到其他平台的SDK上,实现对linux-loongarch64的应用发布。
🎯
关键要点
- 龙芯为LoongArch架构移植了.NET运行时,使其能够运行.NET程序。
- 由于linux-loongarch64 RID仅为社区支持,NuGet上缺乏相应的运行时包。
- 通过不使用AppHost发布或提取龙芯.NET SDK中的运行时包,可以实现对linux-loongarch64的应用发布。
- AppHost是启动.NET运行时并调用托管程序入口点的原生程序,无法从NuGet获取LoongArch的运行时包。
- 使用命令-dotnet publish -r linux-loongarch64 -p:UseAppHost=false可以不使用AppHost发布应用。
- 可以将龙芯.NET SDK内的运行时包提取到其他平台的.NET SDK上。
- 旧世界的.NET 8由龙芯中科维护,可以从指定网站获取并解压。
- 需要将龙芯.NET SDK内的特定目录复制到其他平台的.NET SDK中,并处理符号链接。
- 在.NET 8中需要手动补充linux-loongarch64运行时包声明。
- 新世界的.NET 9 RC版本已加入对应的运行时包声明,无需修改配置文件即可发布。
- 通过dotnet publish命令可以成功发布适用于linux-loongarch64的应用。
🏷️
标签
➡️