Partager via


Comment : pour écrire du code qui utilise les deux versions de la classe ServerDocument

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

Version de Microsoft Office

  • Version 2007 de Microsoft Office System

  • Microsoft Office 2003

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Vous pouvez créer un fichier de code qui utilise la classe ServerDocument pour gérer des personnalisations pour Microsoft Office 2003 et la version 2007 de Microsoft Office System. Cela vous aide à créer un assembly qui contient du code réutilisable lorsque vous devez gérer des personnalisations pour plusieurs versions de Microsoft Office.

Pour plus d'informations sur les différences entre les deux versions de la classe ServerDocument, consultez Gestion de documents sur un serveur à l'aide de la classe ServerDocument.

Pour écrire du code qui utilise les deux versions de la classe ServerDocument

  1. Ajoutez des références aux assemblys suivants :

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll

    • Microsoft.VisualStudio.Tools.Applications.Runtime.dll

  2. Ajoutez les instructions suivantes using (pour Visual C#) ou Imports (pour Visual Basic) au début de votre fichier de code. Ces instructions définissent des alias pour les espaces de noms de chacune des versions de la classe ServerDocument.

    Imports v3Runtime = Microsoft.VisualStudio.Tools.Applications
    Imports SERuntime = Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using v3Runtime = Microsoft.VisualStudio.Tools.Applications;
    using SERuntime = Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  3. Utilisez la méthode GetCustomizationVersion pour déterminer quelle version du runtime Visual Studio Tools pour Office a été utilisée pour créer la personnalisation. Utilisez ensuite la classe ServerDocument dans cette version du runtime pour fonctionner avec la personnalisation.

    L'exemple de code suivant examine la personnalisation associée à un document spécifié. Si le document a été personnalisé en utilisant Microsoft Visual Studio Tools pour Microsoft Office System (version 3.0 Runtime) (c'est-à-dire, en utilisant un projet pour Word 2007), l'exemple affiche l'URL du manifeste de déploiement. Si le document a été personnalisé en utilisant Visual Studio 2005 Tools pour Office Second Edition Runtime (c'est-à-dire, en utilisant un projet pour Word 2003), l'exemple affiche le contenu du manifeste de déploiement incorporé.

    Private Sub DisplayCustomizationInformation(ByVal documentPath As String)
        Dim runtimeVersion As Integer = 0
        Dim serverDocumentv3 As v3Runtime.ServerDocument = Nothing
        Dim serverDocumentSE As SERuntime.ServerDocument = Nothing
    
        Try
            runtimeVersion = v3Runtime.ServerDocument.GetCustomizationVersion(documentPath)
    
            ' Access a member that is specific to each version of the runtime.
            If runtimeVersion = 3 Then
                serverDocumentv3 = New v3Runtime.ServerDocument(documentPath)
                MessageBox.Show("The URL of the deployment manifest is: " & vbLf & _
                    serverDocumentv3.DeploymentManifestUrl.ToString())
            ElseIf runtimeVersion = 2 Then
                serverDocumentSE = New SERuntime.ServerDocument(documentPath)
                MessageBox.Show("The embedded application manifest has the following contents: " & vbLf _
                    & serverDocumentSE.AppManifest.ToXml())
            End If
    
        Catch ex As System.IO.FileNotFoundException
            System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
        Finally
            If Not (serverDocumentv3 Is Nothing) Then
                serverDocumentv3.Close()
            End If
            If Not (serverDocumentSE Is Nothing) Then
                serverDocumentSE.Close()
            End If
        End Try
    End Sub
    
    private void DisplayCustomizationInformation(string documentPath)
    {
        int runtimeVersion = 0;
        v3Runtime.ServerDocument serverDocumentv3 = null;
        SERuntime.ServerDocument serverDocumentSE = null;
    
        try
        {
            runtimeVersion = v3Runtime.ServerDocument.GetCustomizationVersion(documentPath);
    
            // Access a member that is specific to each version of the runtime.
            if (runtimeVersion == 3)
            {
                serverDocumentv3 = new v3Runtime.ServerDocument(documentPath);
                MessageBox.Show("The URL of the deployment manifest is: \n" +
                    serverDocumentv3.DeploymentManifestUrl.ToString());
            }
            else if (runtimeVersion == 2)
            {
                serverDocumentSE = new SERuntime.ServerDocument(documentPath);
                MessageBox.Show("The embedded application manifest has the following contents: \n" +
                    serverDocumentSE.AppManifest.ToXml());
            }
        }
        catch (System.IO.FileNotFoundException)
        {
            System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
        }
        finally
        {
            if (serverDocumentv3 != null)
                serverDocumentv3.Close();
            if (serverDocumentSE != null)
                serverDocumentSE.Close();
        }
    }
    

Voir aussi

Concepts

Gestion de documents sur un serveur à l'aide de la classe ServerDocument

Référence

Microsoft.VisualStudio.Tools.Applications.ServerDocument

Microsoft.VisualStudio.Tools.Applications.Runtime.ServerDocument