Condividi tramite


Procedura: scrivere codice che utilizzi entrambe le versioni della classe ServerDocument

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di documento

Versione Microsoft Office

  • Microsoft Office System 2007

  • Microsoft Office 2003

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

Per gestire le personalizzazioni per Microsoft Office 2003 e Microsoft Office System 2007, è possibile creare un file di codice che utilizza la classe ServerDocument. In questo modo è possibile creare un assembly che contiene codice riutilizzabile quando è necessario gestire personalizzazioni per più versioni di Microsoft Office.

Per ulteriori informazioni sulle differenze tra le due versioni della classe ServerDocument, vedere Gestione dei documenti di un server utilizzando la classe ServerDocument.

Per scrivere codice che utilizzi entrambe le versioni della classe ServerDocument

  1. Aggiungere riferimenti agli assembly riportati di seguito:

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

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

  2. Aggiungere l'istruzione using (per Visual C#) o Imports (per Visual Basic) all'inizio del file di codice. Queste istruzioni definiscono gli alias per gli spazi dei nomi di ciascuna versione della 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. Utilizzare il metodo GetCustomizationVersion per determinare quale versione del runtime di Visual Studio Tools per Office è stata utilizzata per creare la personalizzazione. Quindi, utilizzare la classe ServerDocument in quella versione del runtime per usare la personalizzazione.

    Nell'esempio di codice seguente viene esaminata la personalizzazione associata a uno specifico documento. Se il documento è stato personalizzato utilizzando Microsoft Visual Studio Tools per Microsoft Office System (versione 3.0 Runtime) (ovvero, tramite un progetto per Word 2007), nell'esempio viene visualizzato l'URL del manifesto di distribuzione. Se il documento è stato personalizzato utilizzando Visual Studio 2005 Tools per Office Second Edition Runtime (ovvero, tramite un progetto per Word 2003), nell'esempio viene visualizzato il contenuto del manifesto dell'applicazione incorporato.

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

Vedere anche

Concetti

Gestione dei documenti di un server utilizzando la classe ServerDocument

Riferimenti

Microsoft.VisualStudio.Tools.Applications.ServerDocument

Microsoft.VisualStudio.Tools.Applications.Runtime.ServerDocument