ServerDocument.AddCustomization Yöntem

Tanım

Aşırı Yüklemeler

AddCustomization(String, Uri)

Belirtilen derleme adı ve dağıtım bildirimini kullanarak belirtilen belgeye bir özelleştirme iliştirir.

AddCustomization(String, String, Guid, Uri)

Belirtilen belge, derleme adı, çözüm KIMLIĞI ve dağıtım bildirimini kullanarak belirtilen belgeye bir özelleştirme iliştirir.

AddCustomization(String, String, Guid, Uri, Boolean, String[])

AddCustomization(String, Uri)

Belirtilen derleme adı ve dağıtım bildirimini kullanarak belirtilen belgeye bir özelleştirme iliştirir.

public static void AddCustomization (string documentPath, Uri deploymentManifestUrl);

Parametreler

documentPath
String

Özelleştirmesi eklemek istediğiniz belgenin tam yolu.

deploymentManifestUrl
Uri

Çözüm için dağıtım bildiriminin URL 'SI.

Özel durumlar

documentPathya deploymentManifestUrl da null boş.

deploymentManifestUrlmutlak bir URL belirtmez.

documentPathya da deploymentManifestUrl var olmayan bir dosyayı ifade eder.

Tarafından belirtilen belge documentPath zaten bir özelleştirmeye sahip.

Tarafından belirtilen dağıtım bildirimi deploymentManifestUrl geçerli bir dağıtım bildirimi değil.

Tarafından belirtilen belge documentPath bozuk veya kısıtlı izinlere sahip.

Tarafından belirtilen belge documentPath , tarafından desteklenmeyen bir dosya adı uzantısına sahiptir Office çalışma zamanı için Visual Studio Araçları .

Örnekler

Aşağıdaki kod örneği, AddCustomization belirtilen belgeye bir özelleştirme iliştirmek için yöntemini kullanır.

Bu örnek şunları gerektirir:

  • Bir konsol uygulaması projesi veya başka bir Office dışı proje.

  • Aşağıdaki derlemelere başvurur:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll ve Microsoft.VisualStudio.Tools.Applications.Runtime.dll (proje veya ' i hedefliyorsa .NET Framework 4 .NET Framework 4.5 ).

      veya

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll ve Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (proje .NET Framework 3.5'i hedefliyorsa).

  • Imports(for Visual Basic) veya using (for C#) deyimleri, Microsoft.VisualStudio.Tools.Applications ve için Microsoft.VisualStudio.Tools.Applications.Runtime Kod dosyanızın en üstünde bulunan ad alanları.

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

Açıklamalar

AddCustomizationYöntemi, _AssemblyName _AssemblyLocation belgeye ve özel belge özelliklerini ekleyerek, belirtilen özelleştirmeyi belgeyle ilişkilendirir. Bu özellikler, belgenin bir özelleştirmesi olduğunu ve dağıtım bildiriminin konumunu belirtmesini belirler. Bu yöntem başarılı bir şekilde çağrıldıktan sonra, bir Kullanıcı belirtilen belgeyi bir daha açtığında çalışma zamanı Office çözümünü yüklemeye çalışır. Özel belge özellikleri hakkında daha fazla bilgi için bkz. özel belge özelliklerine genel bakış.

Belirtilen belge, özelleştirmenin belgeyi beklediği bir denetim içermiyorsa, AddCustomization Yöntem başarılı olur, ancak kullanıcı belgeyi açtığında derleme yüklenemez.

fileTypeParametresi, belge düzeyi özelleştirmeleri için desteklenen bir dosya adı uzantısına sahip bir belge belirtmelidir. Word XML belgesi (* XML) veya Word 2003 XML belgesi ( * XML) dosya biçimlerinde kaydedilmiş bir belgeye özelleştirme iliştiremezsiniz. Desteklenen dosya türleri hakkında daha fazla bilgi için bkz. belge düzeyi özelleştirmelerinin mimarisi.

Şunlara uygulanır

AddCustomization(String, String, Guid, Uri)

Belirtilen belge, derleme adı, çözüm KIMLIĞI ve dağıtım bildirimini kullanarak belirtilen belgeye bir özelleştirme iliştirir.

public static void AddCustomization (string documentPath, string assemblyName, Guid solutionId, Uri deploymentManifestUrl);

Parametreler

documentPath
String

Özelleştirmesi eklemek istediğiniz belgenin tam yolu.

assemblyName
String

Özelleştirme için derlemenin tam yolu. Yol, yerel dosya sisteminde veya bir UNC paylaşımında olmalıdır; HTTP konumu belirtemezsiniz.

solutionId
Guid

Office çalışma zamanı için Visual Studio AraçlarıÇözümü tanımlamak için kullandığı BIR GUID.

deploymentManifestUrl
Uri

Çözüm için dağıtım bildiriminin URL 'SI.

Özel durumlar

documentPathya assemblyName da null boş.

documentPathya da assemblyName var olmayan bir dosyayı ifade eder.

Tarafından belirtilen belge documentPath zaten bir özelleştirmeye sahip.

Tarafından belirtilen belge documentPath bozuk veya kısıtlı izinlere sahip.

Tarafından belirtilen belge documentPath , tarafından desteklenmeyen bir dosya adı uzantısına sahiptir Office çalışma zamanı için Visual Studio Araçları .

Örnekler

Aşağıdaki kod örneği, AddCustomization belirtilen belgeye bir özelleştirme iliştirmek için yöntemini kullanır.

Bu örnek şunları gerektirir:

  • Bir konsol uygulaması projesi veya başka bir Office dışı proje.

  • Aşağıdaki derlemelere başvurur:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll ve Microsoft.VisualStudio.Tools.Applications.Runtime.dll (proje veya ' i hedefliyorsa .NET Framework 4 .NET Framework 4.5 ).

      veya

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll ve Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (proje .NET Framework 3.5'i hedefliyorsa).

private void AddCustomizationUsingAssemblyPath(string documentPath, string assemblyName, 
    Guid solutionID, 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, assemblyName, solutionID, 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);
    }
}
Private Sub AddCustomizationUsingAssemblyPath(ByVal documentPath As String, _
    ByVal assemblyName As String, ByVal solutionID As Guid, 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, assemblyName, solutionID, 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

Açıklamalar

AddCustomizationYöntemi, _AssemblyName _AssemblyLocation belgeye ve özel belge özelliklerini ekleyerek, belirtilen özelleştirmeyi belgeyle ilişkilendirir. Bu özellikler, belgenin bir özelleştirmesi olduğunu ve dağıtım bildiriminin konumunu belirtmesini belirler. Bu yöntem başarılı bir şekilde çağrıldıktan sonra, bir Kullanıcı belirtilen belgeyi bir dahaki sefer açtığında, çalışma zamanı Office çözümünü yüklemeye çalışır. Özel belge özellikleri hakkında daha fazla bilgi için bkz. özel belge özelliklerine genel bakış.

Parametreye geçirdiğiniz GUID, solutionID belgeye iliştirmekte olduğunuz çözümün uygulama bildiriminde belirtilir. solutionIdUygulama bildiriminde öğesinin özniteliğinde belirtilen GUID 'i geçirmeniz gerekir vstov4:document . Daha fazla bilgi için bkz. Office çözümlerinde uygulama ve dağıtım bildirimleri ve & lt; Document & gt; Öğesi.

Bir yayımlama konumundan özelleştirme iliştiriyorsanız, parametrede derleme için doğru dosya adını belirttiğinizden emin olun assemblyName . Bir Office çözümünü yayımladığınızda, Yayımla klasörüne kopyalanmış olan derlemenin. deploy dosya adı uzantısı vardır. Örneğin, derleme adı WordDocument1.dll, Publish klasöründeki derlemenin dosya adı WordDocument1.dll. deploy olur. Daha fazla bilgi için bkz. ClickOnce kullanarak Office çözümünü dağıtma.

Belirtilen belge, özelleştirmenin belgeyi beklediği bir denetim içermiyorsa, AddCustomization Yöntem başarılı olur, ancak kullanıcı belgeyi açtığında derleme yüklenemez.

fileTypeParametresi, Microsoft Office Word ve Microsoft Office Excel için belge düzeyi özelleştirmeleri için desteklenen bir dosya adı uzantısına sahip bir belge belirtmelidir. Word XML belgesi (* XML) veya Word 2003 XML belgesi ( * XML) dosya biçimlerinde kaydedilmiş bir belgeye özelleştirme iliştiremezsiniz. Desteklenen dosya türleri hakkında daha fazla bilgi için bkz. belge düzeyi özelleştirmelerinin mimarisi.

Şunlara uygulanır

AddCustomization(String, String, Guid, Uri, Boolean, String[])

public static void AddCustomization (string documentPath, string assemblyName, Guid solutionId, Uri deploymentManifestUrl, bool runAsLocal, out string[] nonpublicCachedDataMembers);

Parametreler

documentPath
String
assemblyName
String
solutionId
Guid
deploymentManifestUrl
Uri
runAsLocal
Boolean
nonpublicCachedDataMembers
String[]

Şunlara uygulanır