private void RunIl2CppWithArguments(List <string> arguments, Action <ProcessStartInfo> setupStartInfo, string workingDirectory) { var args = arguments.Aggregate(String.Empty, (current, arg) => current + arg + " "); var useNetCore = ShouldUseIl2CppCore(); string il2CppPath = useNetCore ? GetIl2CppCoreExe() : GetIl2CppExe(); Console.WriteLine("Invoking il2cpp with arguments: " + args); CompilerOutputParserBase il2cppOutputParser = m_PlatformProvider.CreateIl2CppOutputParser(); if (il2cppOutputParser == null) { il2cppOutputParser = new Il2CppOutputParser(); } if (useNetCore) { Runner.RunNetCoreProgram(il2CppPath, args, workingDirectory, il2cppOutputParser, setupStartInfo); } else { Runner.RunManagedProgram(il2CppPath, args, workingDirectory, il2cppOutputParser, setupStartInfo); } }