Como executar o MSBuild a partir do Powershell sem gerar o processo msbuild.exe?

Estou pensando em executar o MSBuild a partir de um script do PowerShell tocando diretamente nos assemblies do MSBuild (em vez de procurar o caminho de instalação do MSBuild e iniciar o msbuild.exe como um processo filho).

Alguém já fez isso? Qual seria a maneira mais simples e direta de executar a compilação? Existem prós / contras em qualquer uma das técnicas que você gostaria de destacar? (Estou especialmente interessado em quaisquer problemas que possam surgir da execução do msbuild no mesmo processo / domínio de aplicativo que o restante do script).

Atualmente, meu pensamento é algo nesse sentido:

[void][System.Reflection.Assembly]::Load('Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')
[void][Microsoft.Build.BuildEngine.Engine]::GlobalEngine.BuildProjectFile("path/main.proj")

questionAnswers(5)

yourAnswerToTheQuestion