Документация DTE для SolutionBuild содержит некоторый VB-код, который было довольно легко перевести на Powershell:
$dte = [System.Runtime.InteropServices.Marshal]::GetActiveObject('VisualStudio.DTE')
$sb = $dte.Solution.SolutionBuild
$sb.SolutionConfigurations['Debug'].Activate #Or maybe you want 'Release'
$sb.Build()
Интерфейс SolutionBuild имеет другие интересные методы: Clean()
, Debug()
и Run()
.Вы, вероятно, уже знали, но консоль должна быть запущена от имени администратора, чтобы получить дескриптор DTE.