Welcome to MSDN Blogs Sign in | Join | Help

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が自動インストールされ、問題なくデバッグ・実行できるようにすることも出来ます。

Published Wednesday, April 23, 2008 11:53 PM by DDJPNVS
Filed under:

Comments

Anonymous comments are disabled
 
Page view tracker