UnityEditor.MonoProcessUtility.PrepareMonoProcess C# (CSharp) Method

PrepareMonoProcess() public static method

public static PrepareMonoProcess ( BuildTarget target, string workDir ) : Process
target BuildTarget
workDir string
return Process
        public static Process PrepareMonoProcess(BuildTarget target, string workDir)
        {
            BuildTarget monoExecTarget = GetMonoExecTarget(target);
            Process process = new Process {
                StartInfo = { FileName = GetMonoExec(monoExecTarget) }
            };
            process.StartInfo.EnvironmentVariables["_WAPI_PROCESS_HANDLE_OFFSET"] = "5";
            process.StartInfo.EnvironmentVariables["MONO_PATH"] = GetMonoPath(monoExecTarget);
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.WorkingDirectory = workDir;
            return process;
        }

Usage Example

示例#1
0
        public static void MonoCilStrip(BuildTarget buildTarget, string managedLibrariesDirectory, string[] fileNames)
        {
            string buildToolsDirectory = BuildPipeline.GetBuildToolsDirectory(buildTarget);
            string str = Path.Combine(buildToolsDirectory, "mono-cil-strip.exe");

            for (int i = 0; i < fileNames.Length; i++)
            {
                string  text    = fileNames[i];
                Process process = MonoProcessUtility.PrepareMonoProcess(buildTarget, managedLibrariesDirectory);
                string  text2   = text + ".out";
                process.StartInfo.Arguments = "\"" + str + "\"";
                ProcessStartInfo expr_5B   = process.StartInfo;
                string           arguments = expr_5B.Arguments;
                expr_5B.Arguments = string.Concat(new string[]
                {
                    arguments,
                    " \"",
                    text,
                    "\" \"",
                    text,
                    ".out\""
                });
                MonoProcessUtility.RunMonoProcess(process, "byte code stripper", Path.Combine(managedLibrariesDirectory, text2));
                MonoAssemblyStripping.ReplaceFile(managedLibrariesDirectory + "/" + text2, managedLibrariesDirectory + "/" + text);
                File.Delete(managedLibrariesDirectory + "/" + text2);
            }
        }
All Usage Examples Of UnityEditor.MonoProcessUtility::PrepareMonoProcess