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

VS Code调试含Firebase Analytics的Unity项目时遇Firebase.AppCheck加载错误

Unity VS Code调试时触发Firebase.AppCheck文件未找到错误(仅使用Analytics)

问题概述

项目仅集成Firebase Analytics,在Unity编辑器、iOS及Android设备上均可正常编译运行,但使用VS Code调试时,在Firebase初始化阶段抛出文件未找到异常,提示无法加载Firebase.AppCheck。本地不存在该文件,且不想安装Firebase AppCheck组件。

错误日志

Exception has occurred.
System.IO.FileNotFoundException: Could not load the file 'Firebase.AppCheck'.
File name: 'Firebase.AppCheck'
  at System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, System.Boolean refonly, System.Threading.StackCrawlMark& stackMark) [0x00033] in <79a1904c928a4c2d9eba5ede6e6aa92e>:0 
  at System.AppDomain.Load (System.String assemblyString) [0x00002] in <79a1904c928a4c2d9eba5ede6e6aa92e>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain.Load(string)
  at UnityEngine.ClassLibraryInitializer+<>c.<InitAssemblyRedirections>b__2_0 (System.Object _, System.ResolveEventArgs args) [0x0000e] in /Users/bokken/build/output/unity/unity/Runtime/Export/Scripting/ClassLibraryInitializer.cs:43 

触发错误的代码

错误发生在Start方法的Firebase初始化调用处:

void Start()
{
    Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
        var dependencyStatus = task.Result;
        if (dependencyStatus == Firebase.DependencyStatus.Available)
        {
            firebaseApp = Firebase.FirebaseApp.DefaultInstance;
            firebaseReady = true;
            MyDebug.Log("Firebase Analytics Ready");
        }
        else
        {
            firebaseReady = false;
            MyDebug.Log($"Could not resolve all Firebase dependencies: {dependencyStatus}");
        }
    });
}

环境版本

  • Unity 2022.3.33f1
  • Unity for VS Code 1.0.2
  • VS Code 1.90.1
  • Firebase Analytics 12.0.0

解决方案

1. 调整VS Code的程序集搜索路径

在项目根目录的.vscode/settings.json中添加Firebase程序集的搜索路径,确保Omnisharp能正确识别相关程序集:

{
  "omnisharp.assemblySearchPaths": [
    "Library/ScriptAssemblies",
    "Packages/com.google.firebase.analytics/Runtime",
    "Packages/com.google.firebase.core/Runtime"
  ],
  "omnisharp.useModernNet": false
}

2. 添加程序集重定向配置

在项目的Assets/Plugins目录下创建app.config文件,添加对Firebase.AppCheck的重定向配置,避免调试时的加载错误:

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Firebase.AppCheck" publicKeyToken="null" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-999.999.999.999" newVersion="0.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

3. 清除缓存并重建解决方案

  • 关闭VS Code和Unity,删除项目根目录下的Library文件夹(建议先备份)
  • 重新打开Unity,等待项目重新生成所有程序集
  • 打开VS Code,执行Ctrl+Shift+P打开命令面板,选择Omnisharp: Restart Omnisharp,再选择Omnisharp: Clear Cache

4. 检查Firebase包的依赖设置

打开Unity Package Manager,找到Firebase Analytics,查看其依赖项。若发现强制依赖AppCheck,可尝试降级到不强制依赖AppCheck的Analytics版本(需确认版本兼容性)。

可能原因

Firebase Analytics 12.0.0版本在调试场景下可能隐式引入了AppCheck的程序集引用,但Unity打包时会通过代码裁剪移除未使用的依赖,导致调试环境与打包环境的依赖状态不一致,从而触发加载错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 01:34:58