【问题标题】:Unity project does not compile in VS2015 when adding Firebase添加 Firebase 时 Unity 项目在 VS2015 中无法编译
【发布时间】:2016-12-02 12:26:37
【问题描述】:

我在我的项目中集成 Firebase for Unity 时遇到问题。 一旦我添加它,它似乎在 Unity 中运行良好,但 C# 项目在 VisualStudio 2015 中不再编译

我有很多警告看起来像:

>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5):
warning MSB3258: The primary reference "Firebase.App" could not be resolved because it has  
an indirect dependency on the .NET Framework assembly "System, Version=4.0.0.0,  
Culture=neutral, PublicKeyToken=b77a5c561934e089" which has a higher version "4.0.0.0"  
than the version"2.0.0.0" in the current target framework.

我认为这是有问题的,因为在 Google Firebase sdk for Unity 的不同类上的那些人进行了一番讨论之后,我得到了:

[Edited Path of my project]\Assets\Firebase\Editor\AnalyticsDeps.cs(30,36,30,42): 
error CS0103: The name 'Google' does not exist in the current context

似乎在为 Android 构建版本时,一切都很好,但没有执行对 LogEvent 的调用。 另外,由于这个问题,我无法再调试脚本,因为它们不能在 VS 中编译。

看起来是 .NET 框架的问题,但我不知道如何解决。我没有最新版本的 Unity,因为我很快就会发布,我为我的游戏保留了最后一个稳定版本 (5.3.5f1) (further versions made my game enter infinite loops)

[编辑]以下是我用来重现只有一个(默认生成的)脚本文件的新 Unity 项目的问题的步骤:

步骤:

  1. 安装 unity VS,以便在 Visual Studio 2015 中编辑脚本
  2. 打开现有项目或在 Unity 中创建一个新项目,项目中至少包含一个脚本
  3. 为从 Google 开发者控制台生成的应用添加 .json
  4. 将 FirebaseAnalytics.unitypackage 导入项目
  5. 等待所有的统一包处理
  6. 如果您尚未使用 Android 平台,请将构建设置切换到 android
  7. 资产 -> 打开 C# 项目
  8. 在VS中编译
  9. 查看所有 MS Build 警告并关注关于找不到 google 的错误

这是我尝试过的配置:

配置: windows 7 home premium SP1 64bits 与:

  • VS 2015 社区版本 14.0.25425.01 更新 3
  • Unity 版本 5.3.5f1 (960ebf59018a) 个人版
  • Android SDK 工具 25.2.3
  • Android SDK 平台-工具 25.0.1
  • Android SDK 构建工具 25.0.1
  • NDK 10
  • JDK 8u111x64
  • Firebase for Unity 1.0.1

我还在另一台 PC 上使用最新的 Unity 和 VS 2015 以及 SDK/JDK/NDK 等在 Windows 8.1 家庭版上进行了全新安装,结果相同。 [/编辑]

【问题讨论】:

  • 如果我没记错的话,Unity 还不支持 .NET 4.0,因此 Firebase 会导致错误 - 尝试查找依赖于较低框架版本的 Firebase 版本(他们目前使用 2.0 )
  • 是的,这是我的第一个想法,但 Google 的人会为某些兼容性问题做一个根本不起作用的插件似乎很奇怪。我希望我错过了其他东西。
  • 你能指定你在哪里得到你正在使用的 Firebase 插件吗?
  • 我是从 Unity 官方 Firebase 页面上的链接 https://dl.google.com/firebase/sdk/unity/firebase_unity_sdk_1.0.1.zip 获得的,这里是 https://firebase.google.com/docs/unity/setup

标签: c# android unity3d firebase


【解决方案1】:

看起来像一个已知问题,这是来自谷歌支持的答案:

嗨,克里斯,

感谢您发送所有这些详细信息。

这是一个合法问题,我们正在内部跟踪。

但是,我们无法为此承诺 ETA 和时间表 要解决的问题。

同时,相关团队的工程师建议 在 Unity 中构建的解决方法(您已经成功完成了)和 继续发布。

问候,

更新:

你好克里斯,

感谢所有输入和反馈,以驱动此错误 分辨率。

我们已在 Unity 插件中修复了此错误。

这将很快发布并投入生产。密切关注 我们的release notes

如果您有任何其他问题,请随时与我们联系。

问候,

更新 2 已在 Firebase 1.1.0 版中修复

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 2020-11-27
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    相关资源
    最近更新 更多