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


Практическое руководство. Удаление расширений управляемого кода из документов (система 2003)

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

Применение

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

Тип проекта

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

Версия Microsoft Office

  • Microsoft Office 2003

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

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

  • Если требуется сохранить кэшированные данные, необходимо очистить встроенный в документ манифест приложения. Кэшированные данные можно сохранить, если они впоследствии они считываются страницей ASP.NET или серверным приложением.

  • Если кэшированные данные не нудны, следует очистить манифест приложения и кэшированные данные.

В среда выполнения Visual Studio Tools for Office включена объектная модель, позволяющая выполнять эти действия программными средствами.

Очищение внедренного манифеста приложения

Для очищения только внедренного манифеста приложения используется класс ServerDocument. Необходимо вставить код, использующий класс ServerDocument в новом проекте (не в решении Visual Studio Tools for Office), например, консольном приложении или проекте Windows Forms.

Очищение внедренного манифеста приложения

  1. Создайте новый проект, например, приложение консоли или проект Windows Forms.

  2. Добавьте в новый проект ссылку при сборке Microsoft.VisualStudio.Tools.Applications.Runtime.dll.

  3. Добавьте следующий оператор Imports или using в верхнюю часть файла кода.

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Создайте экземпляр класса ServerDocument и передайте его в документ решения. Вызовите метод Clear свойства AppManifest.

    Dim sd As ServerDocument = Nothing
    Try
        sd = New ServerDocument("C:\Documents\SolutionDocument.doc")
        sd.AppManifest.Clear()
    
    ServerDocument sd = null;
    try 
    {
        sd = new ServerDocument(@"C:\Documents\SolutionDocument.doc");
        sd.AppManifest.Clear();
    
  5. Сохраните изменения и закройте документ.

        sd.Save()
    
    Finally
        If Not sd Is Nothing Then
            sd.Close()
        End If
    End Try
    
        sd.Save();
    }
    finally
    {
        if (sd != null)
        {
            sd.Close();
        }
    }
    

Очищение внедренного манифеста приложения и кэшированных данных

Из документа можно удалить и внедренный манифест приложения, и кэшированные данные с помощью одного из методов RemoveCustomization.

8fza57cs.alert_note(ru-ru,VS.90).gifПримечание.

Методы Document.RemoveCustomization и Workbook.RemoveCustomization также удаляют из документа элемент управления Runtime Storage Control. Дополнительные сведения об элементе управления Runtime Storage Control см. в разделе Общие сведения о Runtime Storage Control.

Удаление манифеста приложения и кэшированных данных из документа, открытого на клиентском компьютере

Удаление манифеста приложения и кэшированных данных из закрытого документа или документа на сервере

  1. Создайте новый проект, например, приложение консоли или проект Windows Forms.

  2. Добавьте в новый проект ссылку при сборке Microsoft.VisualStudio.Tools.Applications.Runtime.dll.

  3. Добавьте следующий оператор Imports или using в верхнюю часть файла кода.

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Вызовите статический метод RemoveCustomization класса ServerDocument и укажите путь документа в параметре.

    If (ServerDocument.IsCustomized("C:\Documents\SolutionDocument.doc")) Then
    
        ServerDocument.RemoveCustomization("C:\Documents\SolutionDocument.doc")
    End If
    
    if (ServerDocument.IsCustomized(@"C:\Documents\SolutionDocument.doc"))
    {
        ServerDocument.RemoveCustomization(@"C:\Documents\SolutionDocument.doc");
    }
    

См. также

Задачи

Практическое руководство. Написание кода, в котором используются обе версии класса ServerDocument

Практическое руководство. Вложение расширений управляемого кода в документы (система 2003)

Практическое руководство. Удаление расширений управляемого кода из документов (система 2007)

Практическое руководство. Вложение расширений управляемого кода в документы (система 2007)

Основные понятия

Управление документами на сервере с помощью класса ServerDocument

Кэширование данных

Манифесты приложения и развертывания в решениях Office