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

发布模式运行UWP应用出现“Payload含重复文件”错误求助

解决发布模式下e_sqlite3.dll重复的问题

嘿,我之前处理过好几起这类SQLite NuGet包的冲突问题,你的情况是典型的多架构DLL在发布打包时路径冲突。下面给你几个靠谱的解决办法:

  • 修改项目文件(.csproj)排除多余架构
    打开你的Xamarin项目文件,添加以下MSBuild代码段,它会在发布时只保留你目标平台对应的架构DLL,避免重复:

    <ItemGroup>
      <None Remove="C:\Users\Bob\.nuget\packages\sqlitepclraw.lib.e_sqlite3.v140\1.1.8\runtimes\win10-arm\native\e_sqlite3.dll" Condition=" '$(PlatformTarget)' != 'ARM' " />
      <None Remove="C:\Users\Bob\.nuget\packages\sqlitepclraw.lib.e_sqlite3.v140\1.1.8\runtimes\win10-x86\native\e_sqlite3.dll" Condition=" '$(PlatformTarget)' != 'x86' " />
    </ItemGroup>
    

    如果你后续更改了NuGet包版本,记得同步更新代码里的版本号路径。

  • 更新SQLitePCLRaw包到最新版本
    你当前使用的1.1.8版本存在打包逻辑的旧bug,尝试把sqlitepclraw.lib.e_sqlite3.v140以及关联的SQLitePCLRaw系列包更新到最新稳定版,新版本通常会修复这类多架构冲突问题。

  • 调整发布配置的运行时文件设置
    在Visual Studio的发布配置面板里,找到「高级」选项,检查是否勾选了「包含所有平台的运行时文件」,如果是的话改成「仅包含目标平台的运行时文件」,这样打包时就只会拉取对应架构的DLL了。

另外,如果你用的是Xamarin.Forms或UWP项目,还要确认项目目标框架和NuGet包的runtime版本匹配,避免跨架构引用引发的冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:14:06