この方法でVisual Studioツールウィンドウを表示しています。それはしばらく前に働いていましたが、今はもう働きません。Visual Studioパッケージ - 新しいウィンドウを表示する - NullPointerException?
Dim vsUIShell As IVsUIShell = DirectCast(Package.GetGlobalService(GetType(SVsUIShell)), IVsUIShell)
Dim frame As IVsWindowFrame
Dim guidToolWindow2 As Guid = GetType(ViewIssueDetailsWindow).GUID
vsUIShell.FindToolWindow(CUInt(__VSFINDTOOLWIN.FTW_fForceCreate), guidToolWindow2, frame)
frame.SetProperty(CInt(__VSFPROPID.VSFPROPID_FrameMode), VSFRAMEMODE.VSFM_MdiChild)
frame.Show()
「フレーム」がオブジェクトのインスタンスに設定されていないと言って、null参照例外が発生しています。だから明らかにFindToolWindow関数またはGUIDで何かが間違っています。
GUIDについてよくわかりません。私が知っているのは、数日前にすべてが働いたということだけです。
がここに私のツールウィンドウが定義されています:
<Guid("cb7fcd51-f6ba-498b-87fc-693b79cf7c92")> _
Public Class ViewIssueDetailsWindow
Inherits ToolWindowPane
Public Sub New()
MyBase.New(Nothing)
' Set the window title reading it from the resources.
Me.Caption = "Issue tracker"
Me.Content = New IssueDetailsControl()
End Sub
End Class
私のメインウィンドウのGUIDが "cb7fcd51-f6ba-498B-87fc-693b79cf7c91" だったので、このいずれかのGUIDを作るために、私は指定されました「cb7fcd51- f6ba-498b-87fc-693b79cf7c92 "(最後に1の代わりに2)。それは間違っていた?
しばらく働いた。
アイデア?