質問: PowerShell上からソリューション内の指定のプロジェクトを VisualStudio.DTEを介してビルドしたいのですが うまくいきません おそらくソリューション内のソリューションフォルダの階層を潜る必要があると思うのですが 方法がわからないです ソリューションの構成は以下です Solutionフォルダ │ └─Project1フォルダ │ │ └─Project.csproj │ │ │ └─Project2フォルダ │ └─Projec2.csproj │ └─Solution.sln └─Build.ps1 以下コードです ``` $VSDTE=New-Object -ComObject VisualStudio.DTE $VSDTE.MainWindow.Visible=$True $VSDTE.Solution.Open("$PSScriptRoot\○○○○.sln") foreach($prj in $VSDTE.Solution.Projects) { // ここで階層を潜りたい $VSDTE.Solution.SolutionBuild.BuildProject("Release", $prj.UniqueName, $true) } $VSDTE.Quit() [System.Runtime.Interopservices.Marshal]::ReleaseComObject($VSDTE) ``` 参考 MicroSoft Docs EnvDTE Namespace
回答: > > 質問からは外れますが、vswhere を使えばMSBuildのパスを取得できます。ご参考まで。 – nee 2日前 > > > 今回はこちらで対応することにしました 皆さんご回答ありがとうございました