Практическое руководство. Написание кода, в котором используются обе версии класса ServerDocument
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
Можно создать один файл кода, в котором используется класс ServerDocument для управления настройками для Microsoft Office 2003 и системы 2007 Microsoft Office. Это позволяет создать сборку, которая содержит многократно используемый код и обеспечивает управление настройками для различных версий Microsoft Office.
Дополнительные сведения о различиях между двумя версиями класса ServerDocument см. в разделе Управление документами на сервере с помощью класса ServerDocument.
Написание кода, в котором используются обе версии класса ServerDocument
Добавьте ссылки на следующие сборки:
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll
Microsoft.VisualStudio.Tools.Applications.Runtime.dll
Добавьте операторы using (для Visual C#) или Imports (для Visual Basic) в начало файла кода. Эти операторы определяют псевдонимы для пространств имен каждой из версий класса 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;
С помощью метода GetCustomizationVersion определите, в какой из версий среды выполнения Visual Studio Tools for Office создана настройка. Для работы с настройкой в этой версии среды выполнения используйте класс ServerDocument.
В следующем примере кода выполняется проверка настройки, связанной с указанным документом. Если настройка документа создана с помощью среды Visual Studio Tools for Office, версия 3.0 (cреда выполнения), версия 3.0 (проект для Word 2007), в примере отображается URL-адрес манифеста развертывания. Если настройка документа создана с помощью среды Visual Studio 2005 Tools for Office Second Edition (среда выполнения) (проект для Word 2003), в примере отображается содержимое внедренного манифеста приложения.
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(); } }
См. также
Основные понятия
Управление документами на сервере с помощью класса ServerDocument
Ссылки
Microsoft.VisualStudio.Tools.Applications.ServerDocument
Microsoft.VisualStudio.Tools.Applications.Runtime.ServerDocument