Aracılığıyla paylaş


Nasıl yapılır: SharePoint çözümleri ve özel özellik paketi doğrulama kuralları oluşturmak

Visual Studio tarafından oluşturulan çözüm paketini doğrulamak için özel doğrulama kuralları oluşturabilirsiniz.Seçerek bir özellik veya paketin tam doğrulama gerçekleştirebilir doğrulama paketi veya özelliği bağlam menüsünden AmbalajExplorer.Paket veya özelliği geçerli bir durumda olacaktır, belirlemek için projeye yeni özellik veya SharePonit proje öğeleri eklediğinizde, kısmi doğrulama gerçekleştirilir.

Özel paket geçerlilik kuralı oluşturmak için

  1. Bir class library projesi oluşturun.

  2. Aşağıdaki derlemeler başvurular ekleyin:

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

  3. Aşağıdaki arabirimlerden birini uygulayan bir sınıf oluşturun:

  4. Ekleme System.ComponentModel.Composition.ExportAttribute sınıfına.Bu öznitelik keşfedin ve geçerlilik kuralınızı yüklemek Visual Studio sağlar.PASS IPackageValidationRule veya IFeatureValidationRule türü öznitelik Oluşturucusu.

Örnek

Aşağıdaki kod örneği, özel bir özelliğin geçerlilik kuralı oluşturmak gösterilmiştir.

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

Kod Derleniyor

Bu örnek, aşağıdaki derlemelerine başvurular gerektirir:

  • Microsoft.VisualStudio.SharePoint.

  • System.ComponentModel.Composition.

Uzantısı dağıtma

Uzantısı dağıtmak için bir Visual Studio uzantısı (VSIX) paketini derleme ve uzantısıyla dağıtmak istediğiniz diğer dosyaları.Daha fazla bilgi için bkz. Visual Studio SharePoint Araçlar için uzantıları dağıtma.

Ayrıca bkz.

Kavramlar

Genişletme SharePoint paketleme ve dağıtım