unity3d Unity没有告诉我导致构建错误的文件,它只说“构建播放器时出错,因为脚本有编译器错误”

gopyfrb3  于 2023-01-02  发布在  其他
关注(0)|答案(2)|浏览(584)

我尝试在Unity 2019.4.39中构建APK。Unity说构建失败,但它没有告诉我导致构建失败的文件。
我无法修复该错误,因为Unity无法识别哪些文件或脚本是错误的。

有人能告诉我如何找出导致构建失败的文件吗?

以下是生成错误:

Error building Player because scripts had compiler errors

UnityEditor.BuildPlayerWindow+BuildMethodException: Error building Player because scripts had compiler errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002b3] in /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:194 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:95 
 #0 GetStacktrace(int)
 #1 DebugStringToFile(DebugStringToFileData const&)
 #2 DebugLogHandler_CUSTOM_Internal_Log(LogType, LogOption, ScriptingBackendNativeStringPtrOpaque*, ScriptingBackendNativeObjectPtrOpaque*)
 #3  (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object)
 #4  (Mono JIT Code) [BuildPlayerWindow.cs:964] UnityEditor.BuildPlayerWindow:GUIBuildButtons (UnityEditor.Modules.IBuildWindowExtension,bool,bool,bool,UnityEditor.Build.BuildPlatform)

以下是带有错误消息的Unity控制台的1个图像:

注:我点击了所有3个错误消息,但Unity仍然没有显示任何导致构建失败的文件名。
PS:我知道有一个很好的答案来修复构建错误“错误构建播放器,因为脚本有编译器错误”在StackOverFlow上的这个链接:
生成项目时出错:生成播放机时出错,因为脚本在编辑器中有编译错误
然而,在我的例子中,Unity甚至没有指出哪些文件是坏的。所以,如果我不知道哪些文件导致错误,我就无法修复错误。

oo7oh9g9

oo7oh9g91#

对于UnityEditor问题,它们不会显示在控制台中,但应该会显示在日志中。您可以尝试打开日志并搜索“error”以诊断其中的问题。
https://docs.unity3d.com/Manual/LogFiles.html

8wtpewkr

8wtpewkr2#

我已经找到了自己问题的解决方案。基本上,问题是我的项目包含2个版本的DOTween和2个版本的Lean。这导致了构建错误。
但是,如果我只构建场景(没有先"播放"场景),那么Unity不会告诉我导致构建错误的文件或包。
我必须在Unity中"播放"场景,然后它会告诉我导致复制的文件或包,并导致构建错误。
以下是详细信息:
要找出哪些文件或包导致构建错误,我需要在Unity中"播放"场景。当场景在Unity中播放时,它告诉我有2个不同包的2个冲突版本:* * 不加吐温瘦肉**。
原因是我的旧项目已经有一个版本的DOTweenLean。当我安装一个新的unity包(称为Game_Menu)时,它也会安装一个新版本的DOTween和一个新版本的Lean,而不会删除或覆盖旧版本。因此,我的项目中有两个版本的DOTween和两个版本的Lean。这导致了构建错误。
我的解决方案是手动删除1个版本的DOTween和1个版本的Lean。然后,Unity成功构建APK。
以后,每当我安装这个Unity软件包(名为Game_Menu)时,我都需要检查我的项目是否已经包含DOTweenLean。如果已经包含,我就不需要安装这两个软件包。

相关问题