Partilhar via


Como: criar regras de validação de pacote e de recurso personalizado para soluções do SharePoint

Você pode criar regras de validação personalizada para verificar se o pacote da solução gerado pelo Visual Studio.Você pode executar a validação completa em um pacote ou de todo o recurso selecionando Validar no menu de contexto de um pacote ou recurso do embalagemExplorer.Validação parcial é executada quando você adiciona novos itens de projeto de SharePonit ou recursos ao projeto para determinar se o pacote ou recurso seria em um estado válido.

Para criar uma regra de validação de pacote personalizado

  1. Crie um projeto de biblioteca de classe.

  2. Adicione referências para os seguintes conjuntos de módulos (assemblies) :

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

  3. Crie uma classe que implementa uma das seguintes interfaces:

  4. Adicionar o System.ComponentModel.Composition.ExportAttribute à classe.Este atributo permite que Visual Studio descobrir e carregar sua regra de validação.Passar o IPackageValidationRule ou IFeatureValidationRule tipo para o construtor de atributo.

Exemplo

O exemplo de código a seguir demonstra como criar uma regra de validação personalizada do recurso.

Imports Microsoft.VisualStudio.SharePoint
Imports Microsoft.VisualStudio.SharePoint.Validation
Imports System.ComponentModel.Composition

<Export(GetType(IFeatureValidationRule))> _
Public Class CustomFeatureValidationRule
    Implements IFeatureValidationRule

    Public Sub ValidateFeature(ByVal context As IFeatureValidationContext) _
        Implements IFeatureValidationRule.ValidateFeature
        For Each projectItem In context.Feature.ProjectItems
            ValidateProjectItem(context, projectItem)
        Next projectItem
    End Sub

    Public Sub ValidateProjectItem(ByVal context As IFeatureValidationContext, _
        ByVal projectItem As ISharePointProjectItem) _
        Implements IFeatureValidationRule.ValidateProjectItem
        If projectItem.Name = "" Then
            context.RuleViolations.Add( _
                "CustomFeatureValidationRule001", _
                ValidationRuleViolationSeverity.Warning, _
                "SharePoint project items must have a name.")
        End If
    End Sub
End Class
using Microsoft.VisualStudio.SharePoint;
using Microsoft.VisualStudio.SharePoint.Validation;
using System.ComponentModel.Composition;

namespace Extension
{
    [Export(typeof(IFeatureValidationRule))]
    internal class CustomFeatureValidationRule : IFeatureValidationRule
    {
        public void ValidateFeature(IFeatureValidationContext context)
        {
            foreach (var projectItem in context.Feature.ProjectItems)
            {
                ValidateProjectItem(context, projectItem);
            }
        }

        public void ValidateProjectItem(
            IFeatureValidationContext context,
            ISharePointProjectItem projectItem)
        {
            if (projectItem.Name == "")
            {
                context.RuleViolations.Add(
                    "CustomFeatureValidationRule001",
                    ValidationRuleViolationSeverity.Warning,
                    "SharePoint project items must have a name.");
            }
        }
    }
}

Compilando o código

Este exemplo requer referências aos assemblies seguintes:

  • Microsoft.VisualStudio.SharePoint.

  • System.ComponentModel.Composition.

Implantação da extensão

Para implantar a extensão, criar um Visual Studio (VSIX) da extensão do pacote para o assembly e outros arquivos que você deseja distribuir com a extensão.Para obter mais informações, consulte Implantação de extensões para as ferramentas de SharePoint no Visual Studio.

Consulte também

Conceitos

Implantação e estendendo empacotamento do SharePoint