検索 K
Visual Studio上でAddInを開発するときには、通常の方法では試験ができません。 なぜなら、開発環境であるVisual Studio自体の起動時に組み込まれてしまうAddInも多いからです。
Experimental Hiveモードでの起動 これを解決するために、AddIn開発ではExperimental Hiveという環境を使います。 ExperimentalHiveモードで起動するためには、
devenv.exe /rootsuffix Exp
のように、rootsuffixパラメーターを利用します。このパラメーターを設定する事により、Visual Studioは通常とは異なるレジストリを利用して起動する事になります。 通常は、
H_KEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio8.0
を利用しますが、 /rootsuffix Exp を指定する事により
H_KEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio8.0 Exp
を用いて起動します。 (注:ちゃんと確認していませんが、 Visual Studio2005+Visual Studio2005 SDK 2007.02の環境の話です。SDKが入ってない状態での動作検証はしていません。また、2008では最初からこの機能があり、SDKを入れることによりレジストリに依存しない形でのHiveモードを利用できるというような記述を見た事があります。また、Expを変更する事によりレジストリをいくつか切り替える事もできます)
Hiveモードへのレジストリ登録 ただ、パラメーターを指定しても環境は変更できますが、 Hive環境に作成したAddInを登録する事は通常できません。しかし、SDKのサンプルの中にはレジストリ登録を行っているものもあるため、少し調べてみました。結果、プロジェクトファイル(.csproj)に下記のような記述を付加しているようです。
SoftwareMicrosoftVisualStudio8.0Exp
true
trueこの記述を施す事により、ビルド時にレジストリ登録がおこなうことができます。 (注:Importタグに指定されたC:Program FilesVisual Studio 2005 SDK2007.02Visual StudioIntegrationToolsBuildフォルダーにMicrosoft.VsSDK.Build.Tasks.dll、Microsoft.VsSDK.targetsが入っている必要があります。これはSDKに入っていますので必要に応じて関連フォルダーにコピーし相対指定するのがよいと思います)配布パッケージをどう組み込むかは後日要調査。これで開発が進められそうです。
