Officeプライマリ相互運用機能アセンブリ
Visual Studio で Visual Studio Tools for Office(以下 VSTO) のプロジェクトを作成する場合、インストールの順番に気をつけないと、VSTOのプロジェクトがデバッグ・実行出来ないことがあります。
これは、Microsoft Office アプリケーションのCOMベースのオブジェクトモデルとマネージド コードを相互運用出来るように橋渡しをしてくれる、プライマリ相互運用アセンブリ(以下 PIA) がインストールされていないために起きる現象です。
PIAは、Microsoft Office からインストール出来るのですが、.NET Framework がインストールされていない環境にOfficeをフルインストールしたとしても、インストールがスキップされてしまいます。このようにPIAがインストールされていない環境で、アプリケーションレベルのプロジェクトを作成し、デバッグ・実行するとエラーが起きてしまいます。
実際、私もVisual Studio 2008 のテストを実施している時に、先にOffice をインストールした環境でこの現象に遭遇し、なんでデバッグできないの?バグ?などと思っていたら単にPIAのインストールを忘れていたなんて事がよくありました。
この問題を回避するには、以下の方法があります。(Office 2007の場合)
1. .NET Framework 3.5をインストールした後にOfficeをフルインストール
2. 既にこの問題に遭遇していたら、コントロールパネルの[プログラムの追加と削除]からOffice の[変更]を選択、[機能の追加/削除]から、対象のOfficeアプリケーションを選択し、[.NET プログラミング サポート]を選んで更新
この問題は、アプリケーションレベルのプロジェクトに対してのみ起こります。ドキュメントレベルのプロジェクトに関しては、プロジェクトを作成すると、Officeのインストーラーが起動し、%WINDOWS%\assembly 以下にPIAを自動インストールしてくれるからです。
従って、別の解決法として、PIAがインストールされていない状態でアプリケーションレベルのプロジェクトでエラーが出た場合でも、ドキュメントレベルのプロジェクトを一回作成することでPIAが自動インストールされ、問題なくデバッグ・実行できるようにすることも出来ます。
Comments
Anonymous
April 23, 2008
PingBack from http://www.travel-hilarity.com/travel-airline-tickets/?p=1016Anonymous
April 23, 2008
PingBack from http://microsoftnews.askpcdoc.com/?p=3985