A Confusing il2cpp bug

Let’s see.

No.1

Exception: E:\UEditor 2019\Unity 2019.4.39f1\2019.4.40f1\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe did not run properly!

Failed running "E:\UEditor 2019\Unity 2019.4.39f1\2019.4.40f1\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe" --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="WindowsDesktop" --architecture="x64" --configuration="Release" --outputpath="E:\Unity Project\Granny 7(PC)\Temp/StagingArea/Data\Native\GameAssembly.dll" --cachedirectory="E:\Unity Project\Granny 7(PC)\Assets\..\Library/il2cpp_cache" --profiler-report --map-file-parser="E:/UEditor 2019/Unity 2019.4.39f1/2019.4.40f1/Editor/Data/Tools/MapFileParser/MapFileParser.exe" --directory="E:/Unity Project/Granny 7(PC)/Temp/StagingArea/Data/Managed" --generatedcppdir="E:/Unity Project/Granny 7(PC)/Temp/StagingArea/Data/il2cppOutput"  

stdout:
il2cpp.exe didn't catch exception: System.InvalidOperationException: C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed:
        Visual Studio 2015 with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
        Visual Studio 2015 installation is found by looking at "SOFTWARE\Microsoft\VisualStudio\14.0_Config\InstallDir" in the registry
        Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry

        Visual Studio 2017 (or newer) with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
        Visual Studio 2017 (or newer) installation is found using Microsoft.VisualStudio.Setup.Configuration COM APIs
        Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry


   �� Unity.IL2CPP.Building.CppProgramBuilder.ThrowIfCannotBuildInCurrentEnvironment()
   �� Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
   �� il2cpp.Program.DoRun(String[] args, List`1 foundAssemblies)
   �� il2cpp.Program.Run(String[] args, Boolean setInvariantCulture)
   �� il2cpp.Program.Main(String[] args)
stderr:

δ��������쳣:  System.InvalidOperationException: C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed:
        Visual Studio 2015 with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
        Visual Studio 2015 installation is found by looking at "SOFTWARE\Microsoft\VisualStudio\14.0_Config\InstallDir" in the registry
        Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry

        Visual Studio 2017 (or newer) with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
        Visual Studio 2017 (or newer) installation is found using Microsoft.VisualStudio.Setup.Configuration COM APIs
        Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry


   �� Unity.IL2CPP.Building.CppProgramBuilder.ThrowIfCannotBuildInCurrentEnvironment()
   �� Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
   �� il2cpp.Program.DoRun(String[] args, List`1 foundAssemblies)
   �� il2cpp.Program.Run(String[] args, Boolean setInvariantCulture)
   �� il2cpp.Program.Main(String[] args)

UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1[T] setupStartInfo) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1[T] arguments, System.Action`1[T] setupStartInfo, System.String workingDirectory) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (UnityEditor.Il2Cpp.Il2CppBuildPipelineData data, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
UnityEditorInternal.IL2CPPBuilder.Run () (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
DesktopStandalonePostProcessor.SetupStagingArea (UnityEditor.Modules.BuildPostProcessArgs args, System.Collections.Generic.HashSet`1[T] filesToNotOverwrite) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
DesktopStandalonePostProcessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
DesktopStandalonePostProcessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <8bd319d7641c4ce9a5a11f88deb2e752>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

No.2

Build completed with a result of 'Failed' in 53 seconds (52943 ms)
UnityEngine.GUIUtility:ProcessEvent (int,intptr)

No.3

UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002bf] in <8bd319d7641c4ce9a5a11f88deb2e752>:0 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <8bd319d7641c4ce9a5a11f88deb2e752>:0 
UnityEngine.GUIUtility:ProcessEvent (int,intptr)

I do not know how to deal with this problem, it makes me very confused. And i tried to fix it as much as possible. For example, i redownloaded my unity editor, reloaded and redownloaded the il2cpp method, even i deleted legacy(ancient) scripts. But it still does not work.

Btw, this is just one of the most confusing bugs i met since i had used unity to develop my game…