2011-01-05 5 views
1

VSPackageを再起動するにはどうすればいいですか?私は実際のソリューションで動作するエクステンションを作成しました。他のソリューションに変更する必要があるときは、エクステンションの状態は残ります。私はそれを望んでいません。これまではIDEを閉じて、拡張機能を元の状態に戻して起動しました。 IDEを終了せずにリセットする可能性がある方がずっと良いでしょう。VSPackageを再起動しました。ちょうどロードされている場合と同じです。

答えて

2

Visual StudioでVSPackageバイナリが読み込まれると、プロセスが終了するまでメモリにロードされたままになります。これは単にVisual Studioのアーキテクチャの一部です。

Visual Studioユーザーは、1つのセッション中に時間の経過とともに複数のソリューションを開くことになるように拡張子を変更する必要があります。

これは、オブジェクトが特定のソリューションに関連付けられるようにオブジェクトを設計することで実現できます。

IVsSolutionEvents interfaceでVisual Studioパッケージのソリューションイベントを購読することができます。ソリューションが終了したという通知を受け取ったら、そのソリューションに関連付けられているオブジェクトを破棄します。

+0

ありがとう、いいアイデア、私はどこにあるのかを調べるつもりですが、どこに私がヒントを与えているか分かっていれば、 "close solution event"にハンドラを追加する方法があります。ツールを初期化するには、ソリューションが開いているかどうかをチェックしますが、終了するには状態を継続的にチェックするのが悪い考えです。私はその出来事を見つける必要があります。 – mjsr

+2

あなたが探しているのはIVsSolutionイベントです。私は答えのドキュメントへのリンクを追加しました。 –

関連する問題