You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac(ARM64架构)构建SQLite.Interop.dll及System.Data.SQLite遇阻求助

ARM64架构macOS(M1/M2)下构建System.Data.SQLite完整指引

前置环境准备

  • 安装Xcode Command Line Tools:
    xcode-select --install
    
  • 安装ARM64版本的.NET SDK(推荐.NET 6/7 LTS版本),执行以下命令确认架构适配:
    dotnet --info
    
    确保输出中RID包含osx-arm64,且架构显示为arm64。
  • 验证ARM64编译器:
    gcc --version
    
    输出需包含aarch64-apple-darwin字样,确认是适配M系列芯片的编译器。

编译SQLite.Interop.dll

  1. 解压下载的sqlite-netFx-source-1.0.115.5.zip,进入解压后的根目录:
    cd sqlite-netFx-source-1.0.115.5
    
  2. 进入SQLite.Interop源码目录,运行编译脚本(用bash执行避免zsh兼容性问题):
    cd SQLite.Interop/src
    bash compile-interop-assembly-release.sh
    
  3. 编译完成后,SQLite.Interop.dll会生成在../../bin/Release/netstandard2.0/osx-arm64/目录下,可通过脚本输出确认具体路径。

构建System.Data.SQLite.dll

  1. 返回源码根目录:
    cd ../..
    
  2. 执行dotnet build时指定具体项目文件,避免多项目冲突报错:
    dotnet build System.Data.SQLite/System.Data.SQLite.csproj -c Release -r osx-arm64
    
  3. 构建成功后,System.Data.SQLite.dll会输出到bin/Release/netstandard2.0/目录,对应的SQLite.Interop.dll会自动复制到该目录的runtimes/osx-arm64/native/子路径下。

常见错误修复

  • "Specify which project or solution file to use...":根目录存在多个项目文件,必须明确指定System.Data.SQLite.csproj作为编译目标,不能直接运行dotnet build。
  • "Root element is missing":大概率是源码包解压不完整或损坏,重新下载并解压;同时检查磁盘权限,确保解压目录可读写。
  • Interop脚本编译失败:确认Xcode Command Line Tools已正确安装,若仍有依赖缺失,执行brew install sqlite3补充系统级依赖。

内容的提问来源于stack exchange,提问作者Prashant Shukla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:50:03