常见问题(FAQ)


1. 龙芯NuGet源的配置方法

龙芯NuGet源上,可以找到一些包含 LoongArch64 架构平台相关文件的 nupkg 包。

添加龙芯NuGet源的配置方式有两种,一种是使用dotnet cli命令,一种是手动配置NuGet.Config文件。

使用dotnet cli命令添加nuget源

# 对于.NET SDK 8.0及以下
dotnet nuget add source "https://nuget.loongnix.cn/v3/index.json" -n "nuget.loongnix.cn" --protocol-version 3

# 对于.NET SDK 9.0及以上
dotnet nuget add source "https://nuget.loongnix.cn/v3/index.json" -n "nuget.loongnix.cn" --protocol-version 3 --allow-insecure-connections

手动配置NuGet.Config

修改本地 ~/.nuget/NuGet/NuGet.Config 配置文件,添加龙芯 NuGet 源。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.loongnix.cn" value="https://nuget.loongnix.cn/v3/index.json" protocolVersion="3" allowInsecureConnections="true" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

2. NuGet配置包源映射

Avalonia应用在LoongArch平台运行时,经常会遇到nuget引用问题,尤其是关于SkiaSharp.NativeAssets.Linux的引用问题。

.NET SDK引用时默认从nuget.org站点下载,而该站点早期版本中不包含linux-loongarch64版本的 libSkiaSharp.so 文件,进而导致应用运行时报找不到libSkiaSharp.so的错误。

该问题可通过在NuGet.Config中配置packageSourceMapping指定nuget包获取来源引用正确的nuget包即可解决。配置可参考如下,请根据实际需要进行调整。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.loongnix.cn" value="https://nuget.loongnix.cn/v3/index.json" protocolVersion="3" allowInsecureConnections="true" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
  <packageSourceMapping>
    <packageSource key="nuget.loongnix.cn">
      <package pattern="*linux-loongarch64*" />
      <package pattern="HarfBuzzSharp.NativeAssets.Linux" />
      <package pattern="SQLitePCLRaw.*" />
      <package pattern="SkiaSharp.NativeAssets.Linux" />
    </packageSource>
    <packageSource key="nuget.org">
      <package pattern="*" />
    </packageSource>
  </packageSourceMapping>
</configuration>

3. LoongArch平台支持SkiaSharp哪些版本?

当前LoongArch架构支持的SkiaSharp是由龙芯研发人员适配制作而成,目前支持的SkiaSharp版本比较有限。

所有支持的版本可通过龙芯nuget源SkiaSharp页面HarfBuzzSharp页面获得,建议根据您的Avalonia版本进行匹配选择。

在项目或解决方案中添加SkiaSharp的引用可使用dotnet cli命令进行配置,参考如下:

# 进入解决方案或者项目目录后执行
dotnet add package SkiaSharp.NativeAssets.Linux --version 2.88.9

4. 龙芯LoongArch64版.NET版本发布说明

上游社区仓库从 .NET7 已原生支持 LoongArch64 架构,龙芯发布的 LoongArch64 架构 SDK ,分两种版本类型:

  • 试用版: 其中安装包名字中包含"ea"
    • 例如龙芯基于上游社区 SDK 6.0.105 版本发布的 LoongArch64 ea 版本 deb 安装包名为: dotnet-sdk-6.0.105-ea1-loongarch64.deb
  • 正式版: 稳定版本
    • 例如龙芯基于上游社区 SDK 6.0.111 版本发布的 LoongArch64 正式版本 deb 安装包名为: dotnet-sdk-6.0.111-1-loongarch64.deb

5. 如何查看SDK版本号

更多有关 .NET 的使用方法,请参阅 .NET在线文档

$ dotnet  --info
.NET SDK (反映任何 global.json):
 Version:   6.0.111
 Commit:    b3bb659a9d

运行时环境:
 OS Name:     loongnix-server
 OS Version:  8
 OS Platform: Linux
 RID:         linux-loongarch64
 Base Path:   /usr/share/dotnet/sdk/6.0.111/

global.json file:
  Not found

Host:
  Version:      6.0.111
  Architecture: loongarch64
  Commit:       7fd8b735b6

.NET SDKs installed:
  6.0.111 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.11 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.11 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Download .NET:
  http://www.loongnix.cn/zh/api/dotnet

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info

Loongson's .NET version:
  6.0.111-1

6. 运行.NET SDK出现报错 cannot execute: required file not found

可检查系统内核版本:

  1. 如果内核版本为4.x,那么本站点发布的SDK可在该机器上运行。
  2. 如果内核版本为6.x或更高,那么您需要到 GitHub loongson/dotnet 发布页面 获取.NET SDK版本。
# 检查系统内核版本(示例)
$ uname -r
4.19.0-19-loongson-3

$ uname -r
6.17.10+deb14-loong64
©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2026-07-13 09:29:31

results matching ""

    No results matching ""

    results matching ""

      No results matching ""