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


ServerDocument.AddCustomization - метод (String, Uri)

Прикрепляет настройку к указанному документу с помощью заданного имени и манифеста развертывания.

Пространство имен:  Microsoft.VisualStudio.Tools.Applications
Сборка:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (в Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

Синтаксис

'Декларация
Public Shared Sub AddCustomization ( _
    documentPath As String, _
    deploymentManifestUrl As Uri _
)
public static void AddCustomization(
    string documentPath,
    Uri deploymentManifestUrl
)

Параметры

  • documentPath
    Тип: System.String
    Полный путь к документу, к которому необходимо добавить настройку.
  • deploymentManifestUrl
    Тип: System.Uri
    URL-адрес манифеста развертывания решения.

Исключения

Исключение Условие
ArgumentNullException

Параметр documentPath или deploymentManifestUrl имеет значение nullссылка NULL (Nothing в Visual Basic) или пуст.

ArgumentException

В параметре deploymentManifestUrl не указан абсолютный URL-адрес.

FileNotFoundException

Параметр documentPath или deploymentManifestUrl ссылается на несуществующий файл.

DocumentAlreadyCustomizedException

В документе, указанном параметром documentPath, уже есть настройка.

InvalidManifestException

Манифеста развертывания, указанный в параметре deploymentManifestUrl, не является действительным манифестом развертывания.

DocumentNotCustomizedException

Документ, заданный параметром documentPath, поврежден или обладает ограниченными разрешениями.

UnknownCustomizationFileException

Среда Visual Studio Tools for Office (cреда выполнения) не поддерживает расширение имени файла документа, заданного параметром documentPath.

Заметки

Метод AddCustomization связывает указанную настройку с документом, добавляя к нему настраиваемые свойства _AssemblyName и _AssemblyLocation.Эти свойства указывают на то, что в документе есть настройка, и задают расположение манифеста развертывания.После успешного вызова этого метода при последующем открытии пользователем указанного документа среда выполнения попытается установить решение Office.Дополнительные сведения о настраиваемых свойствах документа см. в разделе Общие сведения о настраиваемых свойствах документа.

Если указанный документ не содержит элемент управления, ожидаемый настройкой, вызов метода AddCustomization завершается успешно, однако при открытии документа пользователем загрузка сборки завершается с ошибкой.

Параметр fileType должен задавать документ, имеющий расширение имени файла, которое поддерживается в настройках уровня документа.Нельзя прикрепить настройку к документу, сохраненного в форматах файлов XML-документа Word (*xml) или документа Word 2003 XML (*xml).Дополнительные сведения о поддерживаемых типах файлов см. в разделе Архитектура настроек на уровне документа.

Примеры

В следующем примере кода используется метод AddCustomization для прикрепления настройки к указанному документу.

Для этого примера необходимо следующее.

  • Проект консольного приложения или другой проект, не связанный с Office.

  • Ссылки на следующие сборки:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll и Microsoft.VisualStudio.Tools.Applications.Runtime.dll (если на которую нацелен проект .NET Framework 4 или .NET Framework 4.5).

      или

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll и Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (если проект предназначен для платформы .NET Framework 3.5).

  • Операторы Imports (для Visual Basic) или using (для C#) для пространств имен Microsoft.VisualStudio.Tools.Applications и Microsoft.VisualStudio.Tools.Applications.Runtime вверху вашего файла с кодом.

Private Sub AddCustomizationUsingDocumentPath(ByVal documentPath As String, _
    ByVal deployManifestPath As String)
    Dim runtimeVersion As Integer = 0

    Try
        ' Make sure that this document does not yet have any Visual Studio Tools 
        ' for Office customizations.
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 0 Then
            Dim deploymentManifestUri As New Uri(deployManifestPath)
            ServerDocument.AddCustomization(documentPath, deploymentManifestUri)
            MessageBox.Show("The document was successfully customized.")
        Else
            System.Windows.Forms.MessageBox.Show("The document is already customized.")
        End If

    Catch ex As System.IO.FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As UnknownCustomizationFileException
        System.Windows.Forms.MessageBox.Show("The specified document has a file " & _
            "extension that is not supported by Visual Studio Tools for Office.")
    Catch ex As DocumentNotCustomizedException
        System.Windows.Forms.MessageBox.Show("The document could not be customized." & _
        vbLf & ex.Message)
    End Try
End Sub
private void AddCustomizationUsingDocumentPath(string documentPath, string deployManifestPath)
{
    int runtimeVersion = 0;

    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);

        // Make sure that this document does not yet have any Visual Studio Tools 
        // for Office customizations.
        if (runtimeVersion == 0)
        {
            Uri deploymentManifestUri = new Uri(deployManifestPath);
            ServerDocument.AddCustomization(documentPath, deploymentManifestUri);
            MessageBox.Show("The document was successfully customized.");
        }
        else
        {
            System.Windows.Forms.MessageBox.Show("The document is already customized.");
        }
    }
    catch (System.IO.FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (UnknownCustomizationFileException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document has a file " +
            "extension that is not supported by Visual Studio Tools for Office.");
    }
    catch (DocumentNotCustomizedException ex)
    {
        System.Windows.Forms.MessageBox.Show("The document could not be customized.\n" +
            ex.Message);
    }
}

Безопасность платформы .NET Framework

См. также

Ссылки

ServerDocument Класс

AddCustomization - перегрузка

Microsoft.VisualStudio.Tools.Applications - пространство имен