以下是我要做的事情......我打开了两个独立的Visual Studio解决方案,它们完全是单独的解决方案,我希望它保持这种状态。解决方案1是我的powershell DTEObject所指向的。我希望能够切换到解决方案2,并在该会话中打开一个文件。 这是我用来获取DTE对象并执行open file命令的powershell代码:
$dteobj = [runtime.interopservices.marshal]::getactiveobject('VisualStudio.DTE')
$dteobj.ExecuteCommand("Open ""$file""")
$dteobj.ExecuteCommand("Edit.Goto $line")
我之所以要切换解决方案是因为我希望将焦点放在包含该文件的解决方案的窗口中,这样就不会让人们混淆什么文件在哪些解决方案中。希望这足够了。
答案 0 :(得分:0)
我明白了。您可以使用PSCX模块中的powershell命令Get-RunningObject,您必须选择该对象的DTE
$dteObj = Get-RunningObject | Where-Object {$_.FullName -eq "$solutionDir$solutionName"} | Select-Object DTE
$dteobj.DTE.ExecuteCommand("Open ""$file""")
$dteobj.DTE.ExecuteCommand("Edit.Goto $line")