VisualStudio上でAddInを開発するときには、通常の方法では試験ができません。
なぜなら、開発環境であるVisualStudio自体の起動時に組み込まれてしまうAddInも多いからです。

Experimental Hiveモードでの起動
これを解決するために、AddIn開発ではExperimental Hiveという環境を使います。
ExperimentalHiveモードで起動するためには、

devenv.exe /rootsuffix Exp

のように、rootsuffixパラメータを利用します。このパラメータを設定する事により、VisualStudioは通常とは異なるレジストリを利用して起動する事になります。
通常は、

H_KEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio8.0

を利用しますが、 /rootsuffix Expを指定する事により

H_KEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio8.0Exp

を用いて起動します。
(注:ちゃんと確認していませんが、 VisualStudio2005+VisualStudio2005 SDK 2007.02の環境の話です。SDKが入ってない状態での動作検証はしていません。また、2008では最初からこの機能があり、SDKを入れることによりレジストリに依存しない形でのHiveモードを利用できるというような記述を見た事があります。また、Expを変更する事によりレジストリをいくつか切り替える事もできます。)

Hiveモードへのレジストリ登録
ただ、パラメータを指定しても環境は変更できますが、 Hive環境に作成したAddInを登録する事は通常できません。しかし、SDKのサンプルの中にはレジストリ登録を行っているものもあるため、少し調べてみました。結果、プロジェクトファイル(.csproj)に下記のような記述を付加しているようです。


   SoftwareMicrosoftVisualStudio8.0Exp
 true
 true


この記述を施す事により、ビルド時にレジストリ登録がおこなうことができます。
(注:Importタグに指定されたC:Program FilesVisual Studio 2005 SDK2007.02VisualStudioIntegrationToolsBuildフォルダにMicrosoft.VsSDK.Build.Tasks.dll、Microsoft.VsSDK.targetsが入っている必要があります。これはSDKに入っていますので必要に応じて関連フォルダにコピーし相対指定するのがよいと思います。)配布パッケージをどう組み込むかは後日要調査。これで開発が進めれそうです。


0件のコメント

コメントを残す

メールアドレスが公開されることはありません。