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

Visual Studio 2017 UWP项目加载SQLite.Interop.dll失败求助

解决UWP中SQLite.Interop.dll加载失败的问题

我太懂这种卡壳的感觉了——你碰到的DllNotFoundException: Unable to load DLL 'SQLite.Interop.dll'错误,在UWP+Xamarin的场景下确实特别磨人,尤其是你已经试了这么多常规方案都没解决。我来分享几个容易被忽略的排查方向和解决办法:

  • 统一NuGet包版本并彻底重装
    很多时候问题出在SQLite相关包的版本不一致上:确保你项目里所有SQLite相关的NuGet包(比如System.Data.SQLite、SQLite-net-pcl以及它们的依赖包)版本完全匹配。建议先彻底卸载所有SQLite包,手动删除项目的bin和obj文件夹清理残留,再重新安装对应UWP平台的最新稳定版包。

  • 手动在UWP项目配置中指定DLL复制规则
    有时候NuGet的自动复制规则在UWP项目里会失效,你可以直接编辑UWP项目的.csproj文件,添加以下配置(记得替换版本号和架构路径):

    <ItemGroup>
      <Content Include="$(SolutionDir)packages\System.Data.SQLite.Core.1.0.118\build\netstandard2.0\runtimes\win10-x64\native\SQLite.Interop.dll">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        <Link>SQLite.Interop.dll</Link>
      </Content>
    </ItemGroup>
    

    这里的win10-x64可以根据你需要的架构换成win10-x86,版本号改成你实际安装的NuGet包版本。

  • 确认VC++运行时依赖的完整性
    你已经试过2015的VC运行时,但可以试试安装**2017及以后版本的VC桌面运行时包**(x86和x64都装)。另外,检查UWP项目的Package.appxmanifest文件,确保依赖项里包含了对应的VC++包:

    <Dependencies>
      <PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.30035.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
    </Dependencies>
    
  • 验证输出目录的DLL状态
    启动调试后,找到UWP应用的输出目录(一般是bin\x64\Debug\AppX),确认SQLite.Interop.dll是否存在,并且版本正确。如果不存在,手动从NuGet包的runtimes目录复制到这个路径再调试。还可以用Dependency Walker工具打开这个DLL,检查它是否有缺失的底层依赖项——有时候问题根源是VC++的某个子DLL没加载成功。

  • 用全新项目做对比测试
    如果以上方法都不行,建议创建一个全新的UWP空白项目,只添加SQLite包并写一段简单的测试代码(比如创建数据库、插入一条数据)。如果新项目能正常运行,那说明原项目的配置存在冲突,可以逐步迁移代码过去排查问题点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:05:49