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%\assebly 以下にPIAを自動インストールしてくれるからです。


従って、別の解決法として、PIAがインストールされていない状態でアプリケーションレベルのプロジェクトでエラーが出た場合でも、ドキュメントレベルのプロジェクトを一回作成することでPIAが自動インストールされ、問題なくデバッグ・実行できるようにすることも出来ます。

Skip to main content