添加Firebase时,Unity项目无法在VS2015中编译

时间:2016-12-02 12:26:37

标签: c# android unity3d firebase

我在项目中集成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.

其中,我认为这是有问题的,因为在针对Unity的Google Firebase sdk的不同类别的人之后,我得到了:

[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

enter image description here

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

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

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

步骤:

  1. 统一VS安装,以便在Visual Studio 2015中编辑脚本
  2. 打开现有项目或在Unity中创建一个新项目,项目中至少有一个脚本
  3. 为从Google Developer Console生成的应用添加.json
  4. 将FirebaseAnalytics.unitypackage导入项目
  5. 等待所有unitypackage处理
  6. 如果您尚未安装Android平台,请将构建设置切换到Android
  7. 资产 - >打开C#项目
  8. 在VS中编译
  9. 查看所有MS Build警告并跟踪有关未找到Google的错误
  10. 以下是我试过的配置:

    配置: Windows 7家庭高级版SP1 64位 用:

    • VS 2015社区版本14.0.25425.01更新3
    • Unity版本5.3.5f1(960ebf59018a)个人
    • Android SDK工具25.2.3
    • Android SDK Plateform-Tools 25.0.1
    • Android SDK Build-Tools 25.0.1
    • NDK 10
    • JDK 8u111x64
    • 适用于Unity 1.0.1的Firebase

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

1 个答案:

答案 0 :(得分:0)

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

  

嗨克里斯,

     

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

     

这是一个合法的问题,我们正在内部对此进行跟踪。

     

但是,无法为此提交ETA和时间表   问题得到解决。

     

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

     

此致

<强>更新

  

Hello Chris,

     

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

     

我们在Unity插件中修复了这个错误。

     

这将很快发布并推迟投入生产。留意   我们的release notes

     

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

     

此致

更新2 已在Firebase 1.1.0版中修复