ServerDocument.GetCustomizationVersion Method
Returns the version of the Visual Studio Tools for Office runtime that was used to create the customization that is associated with the specified document.
Namespace: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Syntax
'Declaration
Public Shared Function GetCustomizationVersion ( _
documentPath As String _
) As Integer
public static int GetCustomizationVersion(
string documentPath
)
Parameters
- documentPath
Type: System.String
The full path of the document that you want to check.
Return Value
Type: System.Int32
A number that specifies the version of the Visual Studio Tools for Office runtime that was used to create the associated customization.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | The documentPath parameter is nulla null reference (Nothing in Visual Basic) or empty or consists entirely of white space characters. |
FileNotFoundException | The file specified by documentPath does not exist. |
UnknownCustomizationFileException | The file specified by documentPath has a file name extension that is not supported by the Visual Studio Tools for Office runtime. |
Remarks
Office solutions created in different versions of Visual Studio use different versions of the Visual Studio Tools for Office runtime. Each version of the runtime provides a different version of the ServerDocument class that is designed to work with solutions for that version of the runtime. This version of the ServerDocument class can be used with solutions that are created by using Visual Studio 2010 and with 2007 Microsoft Office solutions that are created by using Visual Studio 2008.
The following table specifies the meaning of the return values for this method.
Return value |
Description |
---|---|
0 |
The document does not have a customization. |
1 |
The document has a customization that was created by using Visual Studio Tools for Office, Version 2003. |
2 |
The document has a customization that was created by using the Visual Studio 2005 Tools for Office Second Edition runtime. This is the version of the runtime that is used by customizations for Microsoft Office 2003 in Visual Studio 2005 Tools for Office and Visual Studio 2008. |
3 |
The document has a customization that was created by using the Visual Studio 2010 Tools for Office Runtime or the Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime). Version 3.0 of the runtime is used by customizations for the 2007 Microsoft Office system in Visual Studio 2008. |
For more information about the different versions of the Visual Studio Tools for Office runtime, see Visual Studio Tools for Office Runtime Overview.
Examples
The following code example creates a new ServerDocument that loads a specified document and then displays the URL of the deployment manifest for the customization that is attached to the document. Before creating the object, the code uses the GetCustomizationVersion method to verify that the customization was created by using the Visual Studio 2010 Tools for Office Runtime.
This example requires:
A console application project or some other non-Office project.
References to the following assemblies:
Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll and Microsoft.VisualStudio.Tools.Applications.Runtime.dll (if the project targets the .NET Framework 4).
or
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll and Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (if the project targets the .NET Framework 3.5).
Imports (for Visual Basic) or using (for C#) statements for Microsoft.VisualStudio.Tools.Applications and Microsoft.VisualStudio.Tools.Applications.Runtime namespaces at the top of your code file.
Private Sub CreateServerDocumentFromPath(ByVal documentPath As String)
Dim runtimeVersion As Integer = 0
Dim serverDocument1 As ServerDocument = Nothing
Try
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
If runtimeVersion = 3 Then
serverDocument1 = New ServerDocument(documentPath)
MessageBox.Show("The URL of the deployment manifest is: " & vbLf & _
serverDocument1.DeploymentManifestUrl.ToString())
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.")
Finally
If Not (serverDocument1 Is Nothing) Then
serverDocument1.Close()
End If
End Try
End Sub
private void CreateServerDocumentFromPath(string documentPath)
{
int runtimeVersion = 0;
ServerDocument serverDocument1 = null;
try
{
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
if (runtimeVersion == 3)
{
serverDocument1 = new ServerDocument(documentPath);
MessageBox.Show("The URL of the deployment manifest is: \n" +
serverDocument1.DeploymentManifestUrl.ToString());
}
}
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.");
}
finally
{
if (serverDocument1 != null)
serverDocument1.Close();
}
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
Microsoft.VisualStudio.Tools.Applications Namespace
Other Resources
Managing Documents on a Server by Using the ServerDocument Class