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

安装后无法加载程序集求助:Google.Apis.Core等组件加载失败

Google.Apis程序集加载失败与绑定重定向冲突解决方案

问题场景

  • 应用编译正常,但通过安装向导部署后启动抛出System.IO.FileNotFoundException,提示找不到Google.Apis.Core, Version=1.58.0.0,后续出现Google.Apis.Auth同类错误
  • 编译时收到警告:显式绑定重定向与自动生成的冲突,已尝试关闭“自动生成绑定重定向”但问题未解决

解决步骤

1. 统一NuGet包版本并确保DLL复制到输出目录

  • 检查项目中所有Google.Apis.*系列NuGet包版本,确保版本完全一致(例如全部使用1.58.0),避免跨版本依赖导致缺失
  • 右键项目引用中的Google.Apis.Core、Google.Apis.Auth等程序集,设置Copy Local为True,确保编译时DLL被复制到输出目录
  • 检查安装打包配置,确认所有Google.Apis相关DLL及其依赖项都被包含在安装包内,未被遗漏

2. 修复绑定重定向冲突

  • 打开项目的app.config,删除<runtime>→<assemblyBinding>下所有针对Google.Apis.Core和Google.Apis.Auth的显式绑定重定向条目
  • 重新启用“自动生成绑定重定向”:右键项目→属性→应用程序→勾选“自动生成绑定重定向”,重新编译项目,让Visual Studio自动生成适配的绑定配置
  • 若自动生成仍异常,可手动添加正确的绑定重定向示例:
    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="Google.Apis.Core" publicKeyToken="4b01fa6e34db77ab" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-1.58.0.0" newVersion="1.58.0.0" />
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="Google.Apis.Auth" publicKeyToken="4b01fa6e34db77ab" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-1.58.0.0" newVersion="1.58.0.0" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
    
    注意newVersion需与实际使用的NuGet包版本匹配

3. 排查安装后的DLL加载细节

  • 启用程序集绑定日志:按错误提示修改注册表,设置HKLM\Software\Microsoft\Fusion!EnableLog为DWORD值1,运行安装后的应用后,查看%windir%\assembly\logs\fusionlog.txt,明确DLL找不到的具体原因(路径错误、版本不匹配、依赖缺失等)
  • 检查安装目录下的DLL版本:找到应用安装目录,右键Google.Apis.Core.dll→属性→详细信息,确认版本号为1.58.0.0,未被其他版本覆盖

4. 排除多线程干扰

  • 暂时注释掉多线程相关代码,测试安装后的应用是否仍报错,排除多线程对程序集加载的干扰
  • 若确认多线程影响,需确保Google.Apis的初始化逻辑在主线程完成,或在多线程中正确处理程序集加载时机

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:15:33