public override bool Execute(List <string> args) { SystemHelper.CreateOrCleanDirectory("tmp"); var compiler = LanguageHelper.GetCompilerPath(ServiceSpecType.Bond30); var bondcDir = Path.GetDirectoryName(compiler); string[] templates = { "bond_composition_stub.tt" }; var arguments = string.Join(" ", args.ToArray()) + " /c#" + templates.VerboseCombine(" ", t => " /T:" + Path.Combine(bondcDir, t)) + " /O:tmp"; Console.Write(arguments); var err = SystemHelper.RunProcess(compiler, arguments); Trace.Assert(err == 0, "bondc code generation failed"); CSharpCompiler.ToDiskAssembly( Directory.GetFiles("tmp", "*_composition_stub.cs", SearchOption.AllDirectories).ToArray(), new[] { "rDSN.Tron.Utility.dll", "rDSN.Tron.Contract.dll", "Microsoft.Bond.dll", "Microsoft.Bond.Interfaces.dll", "Microsoft.Bond.Rpc.dll", "Microsoft.Bond.TypeProvider.dll" }, args.ToArray(), "compo.dll" ); Console.ReadLine(); return(true); }