Gewusst wie: Schreiben von Code, der beide Versionen der ServerDocument-Klasse verwendet

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

Microsoft Office-Version

  • 2007 Microsoft Office System

  • Microsoft Office 2003

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Sie können eine Codedatei erstellen, die mithilfe der ServerDocument-Klasse Anpassungen für Microsoft Office 2003 und 2007 Microsoft Office System verwaltet. Dies unterstützt Sie beim Erstellen einer Assembly, die wiederverwendbaren Code enthält, wenn Sie Anpassungen für mehrere Versionen von Microsoft Office verwalten müssen.

Weitere Informationen zu den Unterschieden zwischen den zwei Versionen der ServerDocument-Klasse finden Sie unter Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse.

So schreiben Sie Code, der beide Versionen der ServerDocument-Klasse verwendet

  1. Fügen Sie Verweise auf die folgenden Assemblys hinzu:

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

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

  2. Fügen Sie die folgende using-Anweisung (für Visual C#) bzw. die Imports-Anweisung (für Visual Basic) am Anfang der Codedatei hinzu. Diese Anweisungen definieren Aliase für die Namespaces von jeder Version der ServerDocument-Klasse.

    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. Bestimmen Sie mithilfe der GetCustomizationVersion-Methode, mit welcher Version der Visual Studio Tools for Office-Laufzeit die Anpassung erstellt wurde. Verwenden Sie dann die ServerDocument-Klasse in dieser Version der Laufzeit, um mit der Anpassung zu arbeiten.

    Im folgenden Codebeispiel wird die Anpassung, die einem bestimmten Dokument zugeordnet ist, untersucht. Wenn das Dokument mit der Microsoft Visual Studio Tools für Microsoft Office System (Version 3.0-Laufzeit) angepasst wurde (d. h. mithilfe eines Projekts für Word 2007), wird im Beispiel die URL des Bereitstellungsmanifests angezeigt. Wenn das Dokument mit der Laufzeit für Visual Studio 2005 Tools for Office Second Edition angepasst wurde (d. h. mithilfe eines Projekts für Word 2003), wird im Beispiel der Inhalt des eingebetteten Anwendungsmanifests angezeigt.

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

Siehe auch

Konzepte

Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse

Referenz

Microsoft.VisualStudio.Tools.Applications.ServerDocument

Microsoft.VisualStudio.Tools.Applications.Runtime.ServerDocument