Я использую MsBuild 4.0 в коде, вот так:
var globalProperties = new Dictionary<string, string>();
var buildRequest = new BuildRequestData(solutionPathAbsolute, globalProperties, null, new string[] { "Build" }, null);
var pc = new ProjectCollection();
var result = BuildManager.DefaultBuildManager.Build(new BuildParameters(pc), buildRequest);
Обратите внимание, как этот API полностью отличается от MsBuild 3.5 ... Как подключить регистратор для получения подробных сообщений о сборке с новым API?