private static void MCS(string dllPath)
        {
            List <string> sources = new List <string>();

            foreach (var path in Paths)
            {
                var src = Directory.GetFiles(Path.Combine(Application.dataPath, path), "*.cs", SearchOption.AllDirectories);
                sources.AddRange(src);
            }
            ProcessUtility.DoBuildDllCommand(dllPath, sources.ToArray());
        }
        private static void MPU(string src, string dst)
        {
            var mpu        = Path.Combine(Application.dataPath, ProjectModel.RootPath, "Editor/tools/mpu/mpu.exe");
            var ns         = "MsgPack.Serialization.GeneratedSerializers";
            var argsFormat = $"-s -a -n {ns} -o {{0}} {{1}}";
            var output     = ProcessUtility.DoExeCommand(mpu, argsFormat, dst, src);

            if (string.IsNullOrEmpty(output))
            {
                return;
            }

            var genFiles = output.Split('\n');

            StringBuilder sb = new StringBuilder();

            sb.AppendLine("// this file was auto-generated.");
            sb.AppendLine("using UnityEngine;");
            sb.AppendLine("namespace MsgPack.Serialization");
            sb.AppendLine("{");
            sb.AppendLine("    sealed class MsgPackSerializerRegister");
            sb.AppendLine("    {");
            sb.AppendLine("        [RuntimeInitializeOnLoadMethod]");
            sb.AppendLine("        private static void RuntimeInitializeOnLoadMethod()");
            sb.AppendLine("        {");

            foreach (var genFile in genFiles)
            {
                if (string.IsNullOrEmpty(genFile))
                {
                    continue;
                }
                var split     = genFile.Split(Path.DirectorySeparatorChar);
                var className = split[split.Length - 1].Replace(".cs", "");
                sb.AppendLine($"            MsgPackSerializer.Register(new {ns}.{className}(MsgPackSerializer.Context));");
            }

            sb.AppendLine("        }");
            sb.AppendLine("    }");
            sb.AppendLine("}");

            var serializer = Path.Combine(Application.dataPath, "Scripts/MsgPack/Serialization");

            File.WriteAllText($"{serializer}/MsgPackSerializer.cs", sb.ToString());
        }