修复Unity空白报错问题
在升级Unity Hub之后,偶然发现Console里有几行空白的报错,看不到任何信息,由于有报错,导致修改代码无法生效。尝试重启项目,重装Unity都完全没效果。而且就算新建一个空白项目,只要添加代码就会立刻报几条这种空白错误,完全无法使用。
参考unity问答里的一篇回答,得到解决。
下面说下解决办法:
注意下面提到的路径在不同电脑上是不一样的,根据你设置Unity Hub的安装路径相关
通过点击Console右上角的Open Editor Log
查看具体的报错日志,发现如下报错:
-----CompilerOutput:-stdout--exitcode: 9009--compilationhadfailure: True--outfile: Temp/UnityEngine.UI.dll
-----CompilerOutput:-stderr----------
'"D:\Unity\2019.2.21f1\Editor\Data\Tools\RoslynScripts\..\..\Tools\Roslyn\csc"' �����ڲ����ⲿ���Ҳ���ǿ����еij���
���������ļ���
-----EndCompilerOutput---------------
- Finished compile Library/ScriptAssemblies/UnityEngine.UI.dll
-----Compiler Commandline Arguments:
Filename: D:\Unity\2019.2.21f1\Editor\Data\Tools\RoslynScripts\unity_csc.bat
打开报错里提到的文件:D:\Unity\2019.2.21f1\Editor\Data\Tools\RoslynScripts\unity_csc.bat
,里面内容大概如下:
@ECHO OFF
set APPLICATION_CONTENTS=%~dp0..\..
"%APPLICATION_CONTENTS%\Tools\Roslyn\csc" /shared %*
exit /b %ERRORLEVEL%
发现里面的目录和上面报错的目录其实一样,就是:D:\Unity\2019.2.21f1\Editor\Data\Tools\RoslynScripts\..\..\Tools\Roslyn\
,打开该目录,发现里面没有csc
文件,但有csc.exe
,尝试把bat里的csc改为csc.exe,问题解决了。
修改后的bat如下:
@ECHO OFF
set APPLICATION_CONTENTS=%~dp0..\..
"%APPLICATION_CONTENTS%\Tools\Roslyn\csc.exe" /shared %*
exit /b %ERRORLEVEL%