ServerDocument.AddCustomization - метод (String, Uri)
Прикрепляет настройку к указанному документу с помощью заданного имени и манифеста развертывания.
Пространство имен: Microsoft.VisualStudio.Tools.Applications
Сборка: Microsoft.VisualStudio.Tools.Applications.ServerDocument (в Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Синтаксис
'Декларация
Public Shared Sub AddCustomization ( _
documentPath As String, _
deploymentManifestUrl As Uri _
)
public static void AddCustomization(
string documentPath,
Uri deploymentManifestUrl
)
Параметры
- documentPath
Тип: System.String
Полный путь к документу, к которому необходимо добавить настройку.
- deploymentManifestUrl
Тип: System.Uri
URL-адрес манифеста развертывания решения.
Исключения
Исключение | Условие |
---|---|
ArgumentNullException | Параметр documentPath или deploymentManifestUrl имеет значение nullссылка NULL (Nothing в Visual Basic) или пуст. |
ArgumentException | В параметре deploymentManifestUrl не указан абсолютный URL-адрес. |
FileNotFoundException | Параметр documentPath или deploymentManifestUrl ссылается на несуществующий файл. |
DocumentAlreadyCustomizedException | В документе, указанном параметром documentPath, уже есть настройка. |
InvalidManifestException | Манифеста развертывания, указанный в параметре deploymentManifestUrl, не является действительным манифестом развертывания. |
DocumentNotCustomizedException | Документ, заданный параметром documentPath, поврежден или обладает ограниченными разрешениями. |
UnknownCustomizationFileException | Среда Visual Studio Tools for Office (cреда выполнения) не поддерживает расширение имени файла документа, заданного параметром documentPath. |
Заметки
Метод AddCustomization связывает указанную настройку с документом, добавляя к нему настраиваемые свойства _AssemblyName и _AssemblyLocation.Эти свойства указывают на то, что в документе есть настройка, и задают расположение манифеста развертывания.После успешного вызова этого метода при последующем открытии пользователем указанного документа среда выполнения попытается установить решение Office.Дополнительные сведения о настраиваемых свойствах документа см. в разделе Общие сведения о настраиваемых свойствах документа.
Если указанный документ не содержит элемент управления, ожидаемый настройкой, вызов метода AddCustomization завершается успешно, однако при открытии документа пользователем загрузка сборки завершается с ошибкой.
Параметр fileType должен задавать документ, имеющий расширение имени файла, которое поддерживается в настройках уровня документа.Нельзя прикрепить настройку к документу, сохраненного в форматах файлов XML-документа Word (*xml) или документа Word 2003 XML (*xml).Дополнительные сведения о поддерживаемых типах файлов см. в разделе Архитектура настроек на уровне документа.
Примеры
В следующем примере кода используется метод AddCustomization для прикрепления настройки к указанному документу.
Для этого примера необходимо следующее.
Проект консольного приложения или другой проект, не связанный с Office.
Ссылки на следующие сборки:
Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll и Microsoft.VisualStudio.Tools.Applications.Runtime.dll (если на которую нацелен проект .NET Framework 4 или .NET Framework 4.5).
или
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll и Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (если проект предназначен для платформы .NET Framework 3.5).
Операторы Imports (для Visual Basic) или using (для C#) для пространств имен Microsoft.VisualStudio.Tools.Applications и Microsoft.VisualStudio.Tools.Applications.Runtime вверху вашего файла с кодом.
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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.VisualStudio.Tools.Applications - пространство имен