ServerDocument.AddCustomization-Methode (String, Uri)
Fügt mithilfe des angegebenen Assemblynamens und Bereitstellungsmanifests eine Anpassung an das angegebene Dokument an.
Namespace: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Syntax
'Declaration
Public Shared Sub AddCustomization ( _
documentPath As String, _
deploymentManifestUrl As Uri _
)
public static void AddCustomization(
string documentPath,
Uri deploymentManifestUrl
)
Parameter
- documentPath
Typ: System.String
Der vollständige Pfad des Dokuments, an das Sie eine Anpassung anfügen möchten.
- deploymentManifestUrl
Typ: System.Uri
Die URL des Bereitstellungsmanifests für die Projektmappe.
Ausnahmen
Ausnahme | Bedingung |
---|---|
ArgumentNullException | documentPath oder deploymentManifestUrl hat den Wert nullNULL-Verweis (Nothing in Visual Basic) oder ist leer. |
ArgumentException | deploymentManifestUrl gibt keine absolute URL an. |
FileNotFoundException | documentPath oder deploymentManifestUrl verweist auf eine Datei, die nicht vorhanden ist. |
DocumentAlreadyCustomizedException | Das in documentPath angegebene Dokument verfügt bereits über eine Anpassung. |
InvalidManifestException | Das in deploymentManifestUrl angegebene Bereitstellungsmanifest ist kein gültiges Bereitstellungsmanifest. |
DocumentNotCustomizedException | Das in documentPath angegebene Dokument ist fehlerhaft oder verfügt über eingeschränkte Berechtigungen. |
UnknownCustomizationFileException | Das in documentPath angegebene Dokument hat eine Dateinamenerweiterung, die nicht von Visual Studio Tools for Office-Laufzeit unterstützt wird. |
Hinweise
Die AddCustomization-Methode ordnet dem Dokument die angegebene Anpassung zu, indem dem Dokument die angepassten Eigenschaften _AssemblyName und _AssemblyLocation zugeordnet werden. Diese Eigenschaften erkennen, dass das Dokument über eine -Anpassung verfügt, und geben den Speicherort des Bereitstellungsmanifests an. Nachdem diese Methode erfolgreich aufgerufen wurde, versucht die Laufzeit beim nächsten Öffnen des angegebenen Dokuments durch einen Benutzer, die Office-Projektmappe zu installieren. Weitere Informationen über angepasste Dokumenteigenschaften finden Sie unter Übersicht über benutzerdefinierte Dokumenteigenschaften.
Falls ein von der Anpassung erwartetes Steuerelement nicht im angegebenen Dokument enthalten ist, wird zwar die AddCustomization-Methode erfolgreich ausgeführt, aber beim Öffnen des Dokuments durch den Benutzer wird die Assembly nicht geladen.
Der fileType-Parameter muss ein Dokument mit einer Dateinamenerweiterung angeben, das Anpassungen auf Dokumentebene unterstützt. Sie können keine Anpassung an ein Dokument anfügen, das im Word-XML-Dokument- (*.xml) oder Word 2003-XML-Dokument-(*.xml)-Dateiformat gespeichert wird. Weitere Informationen zu den unterstützten Dateitypen finden Sie unter Architektur von Anpassungen auf Dokumentebene.
Beispiele
Im folgenden Codebeispiel wird die AddCustomization-Methode verwendet, um eine Anpassung an das angegebene Dokument anzuhängen.
Für dieses Beispiel sind erforderlich:
Ein Konsolenanwendungsprojekt oder ein anderes Nicht-Office-Projekt.
Verweise auf die folgenden Assemblys:
Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll und Microsoft.VisualStudio.Tools.Applications.Runtime.dll (wenn das Projekt auf .NET Framework 4 abzielt)
oder
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll und Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (wenn das Projekt auf .NET Framework 3.5 abzielt).
Imports-Anweisungen (für Visual Basic) oder using-Anweisungen (für C#) für Microsoft.VisualStudio.Tools.Applications- und Microsoft.VisualStudio.Tools.Applications.Runtime-Namespaces am Anfang der Codedatei.
Private Sub AddCustomizationUsingDocumentPath(ByVal documentPath As String, _
ByVal deployManifestPath As String)
Dim runtimeVersion As Integer = 0
Try
' Make sure that this document does not yet have any Visual Studio Tools
' for Office customizations.
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
If runtimeVersion = 0 Then
Dim deploymentManifestUri As New Uri(deployManifestPath)
ServerDocument.AddCustomization(documentPath, deploymentManifestUri)
MessageBox.Show("The document was successfully customized.")
Else
System.Windows.Forms.MessageBox.Show("The document is already customized.")
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.")
Catch ex As DocumentNotCustomizedException
System.Windows.Forms.MessageBox.Show("The document could not be customized." & _
vbLf & ex.Message)
End Try
End Sub
private void AddCustomizationUsingDocumentPath(string documentPath, string deployManifestPath)
{
int runtimeVersion = 0;
try
{
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
// Make sure that this document does not yet have any Visual Studio Tools
// for Office customizations.
if (runtimeVersion == 0)
{
Uri deploymentManifestUri = new Uri(deployManifestPath);
ServerDocument.AddCustomization(documentPath, deploymentManifestUri);
MessageBox.Show("The document was successfully customized.");
}
else
{
System.Windows.Forms.MessageBox.Show("The document is already customized.");
}
}
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.");
}
catch (DocumentNotCustomizedException ex)
{
System.Windows.Forms.MessageBox.Show("The document could not be customized.\n" +
ex.Message);
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.