Поделиться через


Манифесты приложений для решений Office (выпуск 2003 системы Microsoft Office)

Обновлен: Ноябрь 2007

Примечание

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

Тип проекта

  • Проекты уровня документа

  • Проекты уровня приложения

Версия Microsoft Office

  • Microsoft Office 2003

Манифест приложения в решении Visual Studio Tools for Office представляет собой XML-файл с описанием сборок, загруженных в решение Microsoft Office 2003. В настройках на уровне документа одна копия манифеста приложения внедряется в документ решения, а другая копия хранится на сервере развертывания, чтобы обеспечить возможность обновления решения. В надстройках на уровне приложения одна копия манифеста приложения размещается на клиентском компьютере, а другая копия хранится на сервере развертывания, чтобы обеспечить возможность обновления решения. Дополнительные сведения см. в разделах Развертывание настроек уровня документа (системы 2003) и Развертывание надстроек уровня приложения (система 2003).

Решение Visual Studio Tools for Office использует схему манифеста приложения, аналогичную схеме, которая определена для ClickOnce. Решения Visual Studio Tools for Office поддерживают только элементы и атрибуты, перечисленные в этой таблице. Другие элементы и атрибуты, которые входят в схему ClickOnce, но не перечислены в таблице, просто игнорируются, и ошибок не вызывают.

Манифесты приложений имеют следующие элементы и атрибуты.

Элемент

Описание

Атрибуты

Элемент <assembly> (Справочная информация по средствам Visual Studio для приложений 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 OfficeGenerateAndPersistAppInfoTask создает манифест приложения, но не задача MSBuildGenerateApplicationManifest.

Манифест приложения определяется для одной версии развернутого решения. По этой причине манифест приложения следует хранить отдельно от манифеста развертывания. Обычно манифесты приложения размещаются в подкаталоге, название которого соответствует версии. Дополнительные сведения см. в разделах Развертывание настроек уровня документа (системы 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

Общие сведения о Runtime Storage Control

Ссылки

Манифесты развертывания для решений Office (2003 система)