public BinaryMessage RunProject(RunProjectRequest msg) { var pb = GetProject(msg.ProjectId); if (pb != null) { var logger = msg.LogWriterId != -1 ? (ILogWriter) new LogWriter(msg.LogWriterId) : (ILogWriter) new NullLogWriter(); var res = pb.Run(msg.Configurations, logger, msg.Verbosity, msg.RunTargets, msg.EvaluateItems, msg.EvaluateProperties, msg.GlobalProperties, msg.TaskId); return(new RunProjectResponse { Result = res }); } return(msg.CreateResponse()); }
async Task <MSBuildResult> SendRun(ProjectConfigurationInfo [] configurations, int loggerId, MSBuildEvent enabledLogEvents, MSBuildVerbosity verbosity, string [] runTargets, string [] evaluateItems, string [] evaluateProperties, Dictionary <string, string> globalProperties, int taskId) { var msg = new RunProjectRequest { ProjectId = projectId, Configurations = configurations, LogWriterId = loggerId, EnabledLogEvents = enabledLogEvents, Verbosity = verbosity, RunTargets = runTargets, EvaluateItems = evaluateItems, EvaluateProperties = evaluateProperties, GlobalProperties = globalProperties, TaskId = taskId }; var res = await connection.SendMessage(msg); // Make sure we get all log messages await connection.ProcessPendingMessages(); return(res.Result); }