基本的に、Visual Studioのアドインのアセンブリはインストール後、初回のみ起動時にロードされ、その際にアドインの持つコマンドがVisualStudioに登録され、次回以降は登録されたコマンドがユーザーから呼び出された時に初めてアドインのアセンブリが読み込まれる仕組みになっています。

そのため、Visual Studioのアドインがコマンドを登録する機会は初回起動時のみに限られるのですが、それではアドイン開発時にコマンドの作成に困ることになります。MSDNには方法 : アドイン コマンドをメニューに再び表示させるという記事があがっているのですが、この記事の方法は、自分が調べた限りではまったく役に立ちませんでした。

で、実際に役に立ったのはこちらの記事:方法 : アドインを非アクティブにして削除する。この記事ではアドインを削除する方法が解説されているのですが、紹介されている

    1. 削除するアドインの .Addin XML 登録ファイルを削除します。

      このファイルの既定の場所は <drive>:\Documents and Settings\<username>\My Documents\Visual Studio 2005\Addins です。

    2. Visual Studio 2005 のコマンド プロンプトで、「devenv /resetaddin Namespace.ClassName」と入力します。Namespace はアドイン プロジェクトの名前、Classname はアドイン プロジェクトのクラス名にそれぞれ置き換えます。たとえば、「devenv /resetaddin MyAddin1.Connect」のように入力します。

というプロセスのうち、2.の方が、VisualStudioに登録されているコマンド等を消去する部分に対応しています。1.を実行せずに2.だけ実行すると、そのアドインが登録したコマンドが一度消去された上で、再度初期状態としてアセンブリを読み込み、コマンドの登録がされます。(具体的には、アドインのクラスのIDTExtensibility2.OnConnectionメソッドが引数connectModeがext_ConnectMode.ext_cm_UISetupの状態で呼び出されます)。

なお、この方法は、間違ったコマンド名をつけてしまった場合に取り消すのにも使えます。Visual Studioのアドイン開発でコマンド関係をデバッグするときには重宝しますね。