Método ServerDocument.AddCustomization (String, Uri)

Anexar uma personalização documento especificado usando o manifesto do nome especificado e implantação do assembly.

Namespace:  Microsoft.VisualStudio.Tools.Applications
Assembly:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (em Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

Sintaxe

'Declaração
Public Shared Sub AddCustomization ( _
    documentPath As String, _
    deploymentManifestUrl As Uri _
)
public static void AddCustomization(
    string documentPath,
    Uri deploymentManifestUrl
)

Parâmetros

  • documentPath
    Tipo: System.String
    O caminho completo do documento a que você deseja anexar uma personalização.
  • deploymentManifestUrl
    Tipo: System.Uri
    O URL de manifesto de implantação para a solução.

Exceções

Exceção Condição
ArgumentNullException

documentPath ou deploymentManifestUrl são nulluma referência nula (Nothing no Visual Basic) ou vazio.

ArgumentException

deploymentManifestUrl não especifica um URL absoluto.

FileNotFoundException

documentPath ou deploymentManifestUrl referem-se a um arquivo que não existe.

DocumentAlreadyCustomizedException

O documento especificado por documentPath já tiver uma personalização.

InvalidManifestException

O manifesto de implantação especificado por deploymentManifestUrl não é válido um manifesto de implantação.

DocumentNotCustomizedException

O documento especificado por documentPath estiver corrompida, ou restringiu permissões.

UnknownCustomizationFileException

O documento especificado por documentPath possui uma extensão de nome de arquivo que não é suportada por Visual Studio Tools for Office Runtime.

Comentários

O método de AddCustomization associa a personalização especificada com o documento adicionando propriedades personalizadas do documento de _AssemblyName e de _AssemblyLocation ao documento.Essas propriedades que identificam o documento tem uma personalização e especifique o local do manifesto de implantação.Após esse método é chamado com êxito, a próxima vez que um usuário abre o documento especificado, o tempo de execução tentará instalar a solução do Office.Para obter mais informações sobre propriedades personalizadas do documento, consulte Visão geral sobre propriedades de documento personalizado.

Se o documento especificado não contém um controle que personalização espera ter o documento, o método de AddCustomization funcionará com, mas o assembly não carregará quando o usuário abre o documento.

O parâmetro de fileType deve especificar um documento que tem uma extensão de nome de arquivo que é suportada para personalizações da nível.Você não pode anexar uma personalização um documento que é salvo no documento XML (*xml Word) ou exprimir formatos de arquivo 2003 do documento XML (*xml).Para obter mais informações sobre tipos de arquivo suportados, consulte o Arquitetura de personalizações em nível de documento.

Exemplos

O exemplo de código a seguir usa o método de AddCustomization para anexar uma personalização documento especificado.

Este exemplo requer:

  • Um projeto de aplicativo do console ou qualquer outro projeto do Office não.

  • Referências para os seguintes conjuntos de módulos (assemblies):

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.dll (se o projeto utiliza .NET Framework 4 ou .NET Framework 4.5).

      ou

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (se o projeto utiliza o .NET Framework 3.5).

  • Imports (Visual Basic) ou instruções de using (para C#) para Microsoft.VisualStudio.Tools.Applications e namespaces de Microsoft.VisualStudio.Tools.Applications.Runtime na parte superior do arquivo de código.

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);
    }
}

Segurança do .NET Framework

Consulte também

Referência

ServerDocument Classe

Sobrecargas AddCustomization

Namespace Microsoft.VisualStudio.Tools.Applications