次の方法で共有


Office ソリューション用アプリケーション マニフェスト (2003 システム)

更新 : 2007 年 11 月

メモ

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • Microsoft Office 2003

Visual Studio Tools for Office ソリューション内のアプリケーション マニフェストは、Microsoft Office 2003 ソリューションに読み込まれるアセンブリについて記述した XML ファイルです。ドキュメント レベルのカスタマイズでは、アプリケーション マニフェストのコピーがソリューション ドキュメントに埋め込まれます。さらに、ソリューションを簡単に更新できるように、もう 1 つのコピーが配置用サーバーで保持されます。アプリケーション レベルのアドインでは、アプリケーション マニフェストのコピーがクライアント コンピュータに配置されます。さらに、ソリューションを簡単に更新できるように、もう 1 つのコピーが配置用サーバーで保持されます。詳細については、「ドキュメント レベルのカスタマイズの配置 (2003 システム)」および「アプリケーション レベルのアドインの配置 (2003 システム)」を参照してください。

Visual Studio Tools for Office はアプリケーション マニフェスト スキーマを使用します。これは、ClickOnce のために定義されたスキーマによく似ています。Visual Studio Tools for Office ソリューションでは、次の表に示す要素と属性だけがサポートされています。ClickOnce スキーマに含まれている要素と属性でも、ここに挙げられていないものは無視されます (エラーは発生しません)。

アプリケーション マニフェストには次の要素と属性があります。

要素

説明

属性

<assembly> 要素 (Visual Studio Tools for Office アプリケーション リファレンス)

必ず指定します。最上位の要素です。

manifestVersion

<assemblyIdentity> 要素 (Visual Studio Tools for Office リファレンス)

必ず指定します。アプリケーション マニフェストのバージョンを指定し、依存アセンブリについて記述します。

name

version

publicKeyToken

language

<entryPoint> 要素 (Visual Studio Tools for Office リファレンス)

必ず指定します。アプリケーション コードを実行するためのエントリ ポイントを指定します。

name

dependencyName

<dependency> 要素 (Visual Studio Tools for Office リファレンス)

必ず指定します。アプリケーションを実行するために必要な依存関係をそれぞれ指定します。必要な場合には、プレインストールしなければならないアセンブリを指定します。

name

<dependentAssembly> 要素 (Visual Studio Tools for Office リファレンス)

必ず指定します。依存アセンブリについての情報を指定します。

なし

<installFrom> 要素 (Visual Studio Tools for Office リファレンス)

必ず指定します。dependency 要素の子として使用されるときは、依存アセンブリの配置場所へのパスを指定します。assembly 要素の子として使用されるときは、配置マニフェストの場所へのパスを指定します。

codebase

<clrClassInvocation> 要素 (Visual Studio Tools for Office リファレンス)

必ず指定します。entryPoint 要素に対して呼び出されるクラスを指定します。

class

解説

アセンブリへのパスに含まれるサーバー名は、すべて小文字にする必要があります。そうしないとアセンブリがキャッシュされません。

Visual Studio Tools for Office プロジェクトをビルドするたびに、アプリケーション マニフェストが生成され、ドキュメント レベルのカスタマイズの場合はドキュメントに埋め込まれ、アプリケーション レベルのアドインの場合はビルド出力フォルダに配置されます。発行ウィザードを使用してソリューションを発行する場合は、アプリケーション マニフェストのコピーが出力フォルダ内にも作成され、その後、発行先にコピーされます。アプリケーション マニフェストを生成するのは Visual Studio Tools for Office の GenerateAndPersistAppInfoTask タスクであり、MSBuild の GenerateApplicationManifest タスクではありません。

アプリケーション マニフェストは単一のバージョンの配置ソリューションに特有のものです。したがって、アプリケーション マニフェストは配置マニフェストとは別に保存する必要があります。対応するバージョンを表す名前のサブディレクトリにアプリケーション マニフェストを保存するのが慣例です。詳細については、「ドキュメント レベルのカスタマイズの配置 (2003 システム)」および「アプリケーション レベルのアドインの配置 (2003 システム)」を参照してください。

Visual Studio Tools for Office ソリューション内のアプリケーション マニフェストと配置マニフェストは、ClickOnce マニフェストとは異なり署名されていません。これらのマニフェストは使用前に検証できません。

発行ツールによって生成されるアプリケーション マニフェストおよび配置マニフェスト内のいくつかのフィールドは、Visual Studio Tools for Office ソリューション内では使用されません。サイズやバージョンなど、アセンブリのプロパティを表すフィールドがこれに該当します。

ファイル名の構文

アプリケーション マニフェスト ファイルの名前は、assemblyIdentity 要素で指定したアプリケーション名に .manifest という拡張子を付けたものになります。たとえば、ExcelApplication1 ソリューションを参照するアプリケーション マニフェストは、次のようなファイル名構文を使用します。

excelapplication1.manifest

使用例

次のコード例は、Visual Studio Tools for Office ソリューションのアプリケーション マニフェストを示しています。

<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" 
    xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
    xmlns="urn:schemas-microsoft-com:asm.v1"
    xmlns:asm.v2="urn:schemas-microsoft-com:asm.v2"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=
       "urn:schemas-microsoft-com:asm.v1 manifest.2.0.0.9.adaptive.xsd"
>

    <assemblyIdentity name="Project1.manifest" 
        version="1.0.1.1"/>
    <asm.v2:entryPoint name="Startup" dependencyName="Project1">
        <asm.v2:clrClassInvocation class="Sheet1"/>
    </asm.v2:entryPoint>
    <asm.v2:entryPoint name="Startup" dependencyName="Project1">
        <asm.v2:clrClassInvocation class="Sheet2"/>
    </asm.v2:entryPoint>
    <asm.v2:entryPoint name="Startup" dependencyName="Project1">
        <asm.v2:clrClassInvocation class="Sheet3"/>
    </asm.v2:entryPoint>
    <dependency asmv2:name="Project1">
        <dependentAssembly>
            <assemblyIdentity name="Project1" 
                version="1.0.1.1"/>
        </dependentAssembly>
        <asmv2:installFrom codebase=
            "http://deployweb/project1/project1_1.0.1.1/project1.dll"/>
    </dependency>
    <asm.v2:installFrom codebase=
        "http://deployweb/project1/project1.application"/>
</assembly>

参照

処理手順

方法 : アプリケーション マニフェスト アセンブリのパスをプログラムで更新する (2003 システム)

方法 : マネージ コード拡張機能をドキュメントから削除する (2003 システム)

概念

Office ソリューションにおけるアプリケーション マニフェストと配置マニフェスト

実行時のストレージ コントロールの概要

参照

Office ソリューション用配置マニフェスト (2003 システム)