¿Cómo ejecutar MSBuild desde Powershell sin generar el proceso msbuild.exe?

Estoy considerando ejecutar MSBuild desde un script de Powershell tocando directamente a los ensamblados de MSBuild (en lugar de buscar la ruta de instalación de MSBuild e iniciar msbuild.exe como un proceso secundario).

¿Alguien ha hecho esto? ¿Cuál sería la forma más sencilla y directa de ejecutar la compilación? ¿Hay ventajas y desventajas de cualquiera de las técnicas que le gustaría señalar? (Estoy especialmente interesado en cualquier problema que pueda surgir al ejecutar msbuild en el mismo proceso / dominio de aplicación que el resto del script).

Actualmente mi pensamiento es algo en este 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")

Respuestas a la pregunta(5)

Su respuesta a la pregunta