概要
Unity2019.3.0f5をMacで起動したら、以下のような空のエラーが発生してビルドできなくなりました。
この投稿は、その対処法になります。
動作環境
- Unity2019.3.0f5
- Mac OSX Catalina 10.15.2
Windowsの場合
Windowsの場合も、同じようなエラーが起きてたみたいです。
その場合は以下のやり方でなおるそうです。
今回の対応も似たようなやり方です。
本題
とりあえず原因を特定させるためにEditor.logを確認します。
-----CompilerOutput:-stdout--exitcode: 137--compilationhadfailure: True--outfile: Temp/UnityEngine.UI.dll
-----CompilerOutput:-stderr----------
Failed to initialize CoreCLR, HRESULT: 0x80004005
-----EndCompilerOutput---------------
以下のようなエラーがでてた場合Unityの中にある「csc」ファイルが何らかの理由で正常に動作しなくなってるっぽいです。
(本当はそれをなおしたかったけど断念…)
というわけで、応急処置
対象のUnityの「パッケージの内容を表示」とすると、ディレクトリ内部にアクセスできます。
そこから、 Contents -> Tools -> RoslynScripts -> unity_csc.sh を編集します。
と、その前にMacの中にcscがあるか確認。
このcscは、C#のコンパイラだそうです。
cscがあるか探す
$ find /Library/Frameworks -name csc
/Library/Frameworks/Mono.framework/Versions/5.18.0/bin/csc
/Library/Frameworks/Mono.framework/Versions/5.18.0/Commands/csc
/Library/Frameworks/Mono.framework/Versions/6.6.0/bin/csc
/Library/Frameworks/Mono.framework/Versions/6.6.0/Commands/csc
/Library/Frameworks/Mono.framework/Versions/5.16.0/bin/csc
/Library/Frameworks/Mono.framework/Versions/5.16.0/Commands/csc
ない場合はどうするべきかはわかりません。
あれば、以下のように書き換えたら動くようになります。
unity_csc.shの23行目あたり
#eval "\"$CSC_NET_CORE\" /shared "$@"" #コメントアウト
eval "\"/Library/Frameworks/Mono.framework/Versions/Current/bin/csc\" /shared "$@"" #書き換え
これで、ぼくは動くようになりました。
よかったよかった(´・ω・`)