Office ソリューション ビルド処理の概要
更新 : 2007 年 11 月
Microsoft Office ソリューションのビルドは、Visual Studio における他のアプリケーションのビルドと、とてもよく似ています。ただし、Microsoft Office ソリューションに特有の考慮事項があります。
アプリケーションのビルド方法に関する一般的な情報については、「Visual Studio でのビルド」を参照してください。
2007 System プロジェクトのプロジェクト出力
2007 バージョンのプロジェクトは、projectname\bin\release または projectname\bin\debug に出力されます。配置ディレクトリにはビルドできません。
ドキュメント レベルのプロジェクト
ドキュメント レベルのプロジェクトをビルドすると、次の項目を含めてプロジェクトが出力されます。
プロジェクト ドキュメントのコピー。
プロジェクト アセンブリと、ローカル コピー プロパティが true に設定されているすべての参照先アセンブリ。
アプリケーション マニフェスト。ファイル名には .manifest という拡張子が付けられます。詳細については、「Office ソリューション用アプリケーション マニフェスト (2007 システム)」を参照してください。
配置マニフェスト。ファイル名には .vsto という拡張子が付けられます。詳細については、「Office ソリューション用配置マニフェスト (2007 システム)」を参照してください。
プログラム データベース (PDB) ファイル。
アプリケーション レベルのプロジェクト
アプリケーション レベルのプロジェクトをビルドすると、次の項目がプロジェクト出力に含まれます。
プロジェクト アセンブリと、ローカル コピー プロパティが true に設定されているすべての参照先アセンブリ。
アプリケーション マニフェスト。ファイル名には .manifest という拡張子が付けられます。詳細については、「Office ソリューション用アプリケーション マニフェスト (2007 システム)」を参照してください。
配置マニフェスト。ファイル名には .vsto という拡張子が付けられます。詳細については、「Office ソリューション用配置マニフェスト (2007 システム)」を参照してください。
プロジェクト アセンブリのプログラム データベース (PDB) ファイル。
アプリケーション レベルのプロジェクトのビルド処理では、開発用コンピュータで、アドインの読み込みに必要な一連のレジストリ エントリも作成されます。詳細については、「アプリケーション レベルのアドインのレジストリ エントリ」を参照してください。
フォーム領域を含む Outlook アドイン プロジェクトをビルドすると、ビルド処理において、レジストリに対して次の情報も追加されます。
1 つ以上のフォーム領域に関連付けられている各メッセージ クラスのキー
各フォーム領域のエントリと、Outlook アドインの名前を表す値
この情報は、Outlook がフォーム領域を読み込むために必要です。
2003 System プロジェクトのプロジェクト出力
2003 バージョンのプロジェクトは、projectname\bin\release または projectname\bin\debug に出力されます。配置ディレクトリにはビルドできません。
ドキュメント レベルのプロジェクト
ドキュメント レベルのプロジェクトをビルドすると、次の項目を含めてプロジェクトが出力されます。
プロジェクト ドキュメントのコピー。
プロジェクト アセンブリと、ローカル コピー プロパティが true に設定されているすべての参照先アセンブリ。
ドキュメントに埋め込まれたアプリケーション マニフェスト。詳細については、「Office ソリューションにおけるアプリケーション マニフェストと配置マニフェスト」を参照してください。
プログラム データベース (PDB) ファイル。
Excel ソリューションの場合は、出力パス、または作業ディレクトリを変更できません。プロジェクト デザイナのデバッグ ペインの作業ディレクトリ オプションで別の場所を設定しても、Excel でドキュメントを開くと、実行時に既定値に戻ります。ただし、Word ソリューションの場合、通常は出力パスを変更できます。
アプリケーション レベルのプロジェクト
アプリケーション レベルのプロジェクトをビルドすると、次の項目がプロジェクト出力に含まれます。
プロジェクト アセンブリと、ローカル コピー プロパティが true に設定されているすべての参照先アセンブリ。
アプリケーション マニフェスト。詳細については、「Office ソリューションにおけるアプリケーション マニフェストと配置マニフェスト」を参照してください。
プログラム データベース (PDB) ファイル。
アプリケーション レベルのプロジェクトのビルド処理では、開発用コンピュータで、アドインの読み込みに必要な一連のレジストリ エントリも作成されます。詳細については、「アプリケーション レベルのアドインのレジストリ エントリ」を参照してください。
参照先アセンブリ
アセンブリ (クラス ライブラリ プロジェクトを含む) は、Visual Studio Tools for Office プロジェクトから参照できます。各参照先アセンブリには、ローカル コピーというプロパティがあります。ローカル コピーは、アセンブリを出力ディレクトリにコピーするかどうかを指定します。既定では true に設定されています。ローカル コピーが true に設定されている参照先アセンブリは、すべて出力ディレクトリにコピーされます。
ビルド処理中のセキュリティ
Visual Studio は、ビルド処理中にソリューションに信頼を付与するように、開発用コンピュータ上のセキュリティ設定を自動的に構成します。このように設定することで、デバッグしながらソリューションを実行できます。プロジェクト内でのセキュリティ構成は、Office のバージョンに応じて異なる方法で行われます。
2007 System プロジェクト
2007 Microsoft Office system プロジェクトでは、Visual Studio Tools for Office は信頼のリストと証明書を使用して、発行者を確認します。Visual Studio は、Office ソリューションを識別するための一時的な証明書を自動的に作成し、その証明書を信頼するように、信頼のリストにエントリを追加します。
詳細については、「Office ソリューションにおけるセキュリティ (2007 システム)」を参照してください。
2003 System プロジェクト
Microsoft Office 2003 プロジェクトでは、Visual Studio Tools for Office にアセンブリの場所の信頼と呼ばれるブール型のプロパティが格納されます。このプロパティは、Visual Studio の [プロパティ] ウィンドウに表示されます。既定では、このプロパティは True に設定されます。プロパティが True に設定されている状態でプロジェクトをビルドすると、Visual Studio は証拠として URL を使用し、そのプロジェクト アセンブリに完全な信頼を付与します。
出力フォルダ内にある参照先アセンブリおよびサテライト アセンブリには、完全信頼のアクセス許可も付与されます。信頼は、ローカル コンピュータ上のアセンブリに対してユーザー (User) レベルで付与されます。したがって、プロジェクトの管理者資格情報は必要ありません。別の場所のプロジェクトをビルドし直すと、古い場所に対する完全信頼のアクセス許可は削除されます。セキュリティの詳細については、「Office ソリューションの実行に必要なセキュリティ条件 (2003 システム)」を参照してください。
ビルドごとに場所を確認して信頼を付与することにより、コンピュータのセキュリティ設定を手動で変更せずにプロジェクトの移動や共有を行うことができます。ただし、Visual Studio に用意されているツールを使用してプロジェクトの場所を変更する必要があります。Windows エクスプローラなどの外部ツールを使用した場合、Visual Studio はアクセス許可を更新できません。
ネットワーク プロジェクト
アセンブリまたはドキュメントの場所がネットワーク共有上に設定されている場合、ローカル (User レベル) セキュリティ ポリシーを更新しても、ソリューションの実行が許可されるわけではありません。管理者は、ソリューション実行の前にコンピュータ (Machine) レベルで、ネットワーク上のアセンブリおよびドキュメントに完全な信頼を付与する必要があります。セキュリティ ポリシーを設定する方法の詳細については、「方法 : フォルダおよびアセンブリにアクセス許可を付与する (2003 システム)」を参照してください。
2007 system のドキュメント レベルのプロジェクトでは、Office の信頼できるフォルダのリストにドキュメントの完全修飾位置を追加することも必要です。詳細については、「ドキュメントへの信頼の付与 (2007 システム)」を参照してください。
ドキュメント レベルのカスタマイズのテスト
F5 キーを押すと、ソリューションのビルドとデバッグが行われます。Word 2003 または Word 2007 のソリューションについて、ドキュメントをビルドして Visual Studio の外部で開く方法によってデバッグなしでテストする場合は、プロジェクトを閉じてからドキュメントを開きます。Visual Studio で Word 文書を開くと、カスタマイズを実行しないようにするフラグが Word プロセスに設定されます。カスタマイズが設定された Word 文書のファイルを Windows エクスプローラでダブルクリックして Visual Studio の外部で開くと、フラグが設定されているためにこの文書はカスタマイズされません。ファイルをダブルクリックして開くと、Word は現在実行中の任意の文書と同じプロセスで文書を開こうとします。Visual Studio で文書が開かれているため、新しい文書も同じプロセスで開かれ、カスタマイズを実行しないというフラグを受け取ります。
アプリケーション レベルのアドインのテスト
F5 キーを押すと、ソリューションのビルドとデバッグが行われます。ソリューションを発行およびインストールしてアプリケーション レベルのアドインをテストする場合は、ソリューションをアンインストールしてから、再発行またはコード変更を行い、F5 キーを押してもう一度テストします。発行済みのソリューションをインストールすると、アドインのアセンブリが ClickOnce キャッシュにインストールされます。セットアップ プログラムによってレジストリ キーも作成されるため、Office アプリケーションがアセンブリを検索して読み込むことができるようになります。ソリューションをビルドし直すとレジストリ キーが更新されるため、2 番目のバージョンを発行して実行する前に、最初のバージョンをアンインストールする必要があります。
[消去] コマンドの使用
ビルド済みのプロジェクト ファイルを開発用コンピュータから削除するには、Visual Studio で [ビルド] メニューの [消去] コマンドを使用できます。[消去] コマンドにより、ビルドの出力場所にあるすべてのファイルを削除します。アプリケーション レベルのプロジェクトの場合、[消去] コマンドによって、ビルド処理で作成されたレジストリ エントリも削除されます。
メモ : |
---|
[消去] コマンドでは、ビルド処理でソリューション アセンブリに付与されたアクセス許可は削除されません。アクセス許可を削除する方法の詳細については、「方法 : フォルダおよびアセンブリからアクセス許可を削除する (2003 システム)」を参照してください。 |
プラットフォーム ターゲットの x64 への変更
既定では、プラットフォーム ターゲットは Any CPU です。プラットフォーム ターゲットを x64 に設定すると、プロジェクトをコンパイルすることはできますが、ソリューションを実行することはできません。プラットフォーム ターゲットを x64 に設定してコンパイルしたソリューションは 64 ビット プロセスで実行する必要があります。Office は 32 ビット プロセスで動作します。したがって、Office はソリューションを読み込むことができません。