naichi's lab

3日後の自分(他人)への書き置き

Cloud Build + Unity 2018.2 + Zenject 5.5.1 で AssetDatabase.Refresh がどうのこうのってビルドエラー

f:id:naichilab:20180617190945p:plain:w320

環境

  • 試した日 2018/06/17
  • Unity 2018.1.5.f1
  • Cloud Build のUnity 2018.2.0b8
  • Zenject 5.5.1

エラー内容

メインのエラーメッセージはこれ。

[Unity] An AssetDatabase Refresh is pending after a successful Package Manager request. You should not call AssetDatabase.Refresh at this time because it can lead to import-related errors.

詳細

[Unity] An AssetDatabase Refresh is pending after a successful Package Manager request. You should not call AssetDatabase.Refresh at this time because it can lead to import-related errors.
[Unity] Initialize engine version: 2018.2.0b8 (fed204371f5a)
[Unity] An AssetDatabase Refresh is pending after a successful Package Manager request. You should not call AssetDatabase.Refresh at this time because it can lead to import-related errors.
[Unity] -----CompilerOutput:-stdout--exitcode: 1--compilationhadfailure: True--outfile: Temp/Assembly-CSharp-firstpass.dll
[Unity] Assets/Plugins/Zenject/OptionalExtras/SampleGame1 (Beginner)/Scripts/Ship/Ship.cs(18,9): error CS1070: The type `UnityEngine.ParticleEmitter' has been forwarded to an assembly that is not referenced. Consider adding a reference to assembly `UnityEngine.ParticlesLegacyModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
・・・

Zenjectのサンプルファイルがエラーしてる?

たくさん下記のようなメッセージが含まれている。

[Unity] Assets/Plugins/Zenject/OptionalExtras/SampleGame1 (Beginner)/Scripts/Ship/Ship.cs(18,9): error CS1070: The typeUnityEngine.ParticleEmitter' has been forwarded to an assembly that is not referenced.`

Unity 2018.2でParticleEmitterが削除されたのかな

Unity - Scripting API: ParticleEmitter

f:id:naichilab:20180617190505p:plain

2018.1では存在してるぽいけどObsoleteのようだ。

Switch to 2018.2b 押すとリンク切れしてるし消えたのかな。(詳しく調べてない)

対応

Assets/Plugins/Zenject/OptionalExtras をまるごと削除

Optionalって書いてあるしええやろってことで雑にフォルダごと削除した

これでビルド通りました〜

まぁ2018.2はまだβですしZenject自体の更新でいずれ直りそうですね。