問題の概要
AdstirSDKを更新したら、TypeLoadException
エラーがでた。
原因(予想)
MigratePackages の実行中に動かなくなり、Unityを強制終了しちゃった。
詳細(手順)
1 : AdstirSDK の UnityPackageをimport(All Import)
2 : GoogleVersionHandler にて更新が確認されたので、全てApply
3 : PackageManagerResolver にて更新が確認されたので GamePackageRegistry By Google
を選んで AddSelectedRegistries
4 : MigratePackages にて更新が確認されたので、全てApply
5 : 「手順4」Apply後の読み込みが2時間近く終わらなかったので、Unityを強制終了
6 : Unity再起動
7 : Unity起動時にTypeLoadException: Could not resolve type with token 01000036
のエラーログが複数出るようになった。
(Clearでエラーログは消えるが、不安)
対応
明らかに怪しいのは「詳細手順4」なので、下記のような対応を行った。
1 : 詳細手順1〜3を行う
2 : 詳細手順4が自動で表示されるので Canncel -> 現状をGitにPush
3 : MenuからAssets/ExternalDependencyManager/PackageManagerResolver/MigratePackagesを選択
4 : MigratePackages にて更新が確認されたので、全てApply
5 : 数分で処理が完了 -> TypeLoadException: Could not resolve type with token 01000036
のエラーが出る
(おそらく、Migrateの途中でエラーが出ただけ)
6 : Unity再起動 -> 起動時にエラーが出現しなくなる
まとめ
UnityPackageのImport作業途中で落ちたり、落としたりして異常が発生した場合は
作業を区切って少しずつ進めると良いかもしれませんね。