今はこれが機能していることを誓いますが、長時間実行されているVisual Studioセッションを閉じて再度開くと、これを機能させることができず、前のセッションと何が違うのかわかりません。
コマンドを起動するためのカスタムメニューとボタンクリックイベントを追加しようとしています。もう少しPowerShellを起動しようとしていましたが、dteが簡単に実行できることがわかっているコマンド(samplesコマンド)に変更しました。
誰かが何か間違っているか、私が見落としているものを見ています(私はそれを機能させていましたが、新しいVSセッションでは発生しません。エラーはスローされませんが、クリックイベントは発生しません。
このPowerShellはVS2012内で実行されます
$menubar = $dte.CommandBars["MenuBar"]
$cmenu = $menubar.Controls.Add([Microsoft.VisualStudio.CommandBars.MsoControlType]::msoControlPopup, 1, "", 36, $true)
$cmenu.Caption = "CUSTOM"
$cmenu.Enabled = $true
$item = $cmenu.Controls.Add([Microsoft.VisualStudio.CommandBars.MsoControlType]::msoControlButton, 1, "", 1, $true)
$item.Caption = "Item"
$itemHandler = $dte.Events.CommandBarEvents($item)
$itemEvents = Get-Interface $itemHandler ([EnvDTE._dispCommandBarControlEvents_Event])
$itemClickEvent = [EnvDTE._dispCommandBarControlEvents_ClickEventHandler]{ $dte.ExecuteCommand("Help.Samples") }
$itemEvents.add_Click($itemClickEvent)