Office 解决方案的应用程序清单 (2003 System)

更新:2007 年 11 月

注意

适用于

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

有关更多信息,请参见按应用程序和项目类型提供的功能

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Microsoft Office 2003

Visual Studio Tools for Office 解决方案中的应用程序清单是一个 XML 文件,该文件描述了加载到 Microsoft Office 2003 解决方案中的程序集。在文档级自定义项中,应用程序清单的一个副本嵌入在解决方案文档中,另一个副本保留在部署服务器上,以方便更新解决方案。在应用程序级外接程序中,应用程序清单的一个副本位于客户端计算机上,另一个副本保留在部署服务器上,以方便更新解决方案。有关更多信息,请参见部署文档级自定义项 (2003 System)部署应用程序级外接程序 (2003 System)

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 System)部署应用程序级外接程序 (2003 System)

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 System)

如何:移除文档中的托管代码扩展 (2003 System)

概念

Office 解决方案中的应用程序和部署清单

运行时存储控件概述

参考

Office 解决方案的部署清单 (2003 System)