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

Windows 11 ARM64环境下SQLite.Interop.dll加载问题求助

解决Windows 11 ARM64下SQLite.Interop.dll原生库构建问题

针对Windows 11 ARM64环境下无法加载SQLite.Interop.dll的问题,以下是经过验证的原生ARM64库构建及集成方案:

一、准备构建环境

  • 安装Visual Studio 2022,必须勾选.NET桌面开发和C++ ARM64开发工具集(可在VS安装器的「单个组件」中找到)
  • 确保安装支持ARM64的最新Windows SDK

二、获取并准备源码

  • 获取最新版SQLite核心源码(sqlite-amalgamation包,包含合并后的单文件C源码)
  • 获取对应版本的System.Data.SQLite源码包,解压后定位到SQLite.Interop的VC++项目文件

三、配置Interop项目

  1. 打开SQLite.Interop.vcxproj项目文件
  2. 将项目目标平台切换为ARM64,确保Debug和Release配置均应用该平台
  3. 调整项目属性:
    • 「常规」:平台工具集选择v143(VS2022对应版本)
    • 「C/C++ → 常规」:附加包含目录添加sqlite-amalgamation源码所在路径
    • 「链接器 → 输入」:确认已添加必要的系统依赖库(如kernel32.lib)

四、构建ARM64原生库

  • 在Visual Studio中选择ARM64平台,右键项目选择「生成」(优先构建Release版本)
  • 构建完成后,在项目输出目录(如bin/ARM64/Release)获取SQLite.Interop.dll及配套的.lib文件

五、集成到.NET项目

  1. 在项目根目录创建runtimes/win-arm64/native目录结构
  2. 将生成的SQLite.Interop.dll放入该目录
  3. 配置项目:
    • 项目属性 → 生成 → 目标平台设为ARM64,取消勾选「首选32位」
    • 在项目文件(.csproj)中添加以下配置,确保原生库被复制到输出目录:
      <ItemGroup>
        <NativeLibrary Include="runtimes/win-arm64/native/SQLite.Interop.dll">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </NativeLibrary>
      </ItemGroup>
      

常见问题排查

  • 若编译报错,确认SQLite核心源码与System.Data.SQLite源码版本完全匹配
  • 检查Visual Studio是否已正确安装ARM64编译工具,可通过「工具 → 获取工具和功能」重新勾选组件
  • 项目属性中「C/C++ → 代码生成 → 运行库」建议选择多线程DLL (/MD),避免静态库依赖冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:27:42