Udostępnij za pośrednictwem


Jak: Tworzenie niestandardowych funkcji i reguły sprawdzania poprawności pakietu rozwiązań programu SharePoint

Można utworzyć reguły sprawdzania poprawności niestandardowych, aby zweryfikować pakiet rozwiązanie generowany przez program Visual Studio.Cała funkcja lub pakietu można wykonywać pełne sprawdzanie poprawności, zaznaczając sprawdzania poprawności z menu kontekstowego pakietu lub funkcji w opakowaniaExplorer.Częściowego sprawdzania poprawności jest wykonywane podczas dodawania nowych elementów projektu SharePonit lub funkcji do projektu, aby ustalić, jeśli pakiet lub funkcji byłoby w prawidłowym stanie.

Aby utworzyć regułę sprawdzania poprawności pakietu niestandardowego

  1. Utwórz projekt biblioteki klas.

  2. Dodaj odwołania do następujących zestawów:

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

  3. Tworzenie klasy, która implementuje jeden z następujących interfejsów:

    • Aby utworzyć regułę sprawdzania poprawności pakietu, należy zaimplementować IPackageValidationRule interfejsu.

    • Aby utworzyć regułę sprawdzania poprawności funkcji, należy zaimplementować IFeatureValidationRule interfejsu.

  4. Dodaj System.ComponentModel.Composition.ExportAttribute do klasy.Atrybut ten umożliwia Visual Studio, odkrywanie i załadować reguły sprawdzania poprawności.Przekazać IPackageValidationRule lub IFeatureValidationRule typu Konstruktor atrybutu.

Przykład

Poniższy przykład kodu demonstruje, jak utworzyć niestandardową regułę sprawdzania poprawności funkcji.

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

Kompilowanie kodu

W tym przykładzie wymaga odwołania do następujących zestawów:

  • Microsoft.VisualStudio.SharePoint.

  • System.ComponentModel.Composition.

Wdrażanie rozszerzenia

Aby wdrożyć rozszerzenia, tworzenie Visual Studio extension (VSIX) pakiet Zgromadzenia i inne pliki, które chcesz dystrybuować z rozszerzeniem.Aby uzyskać więcej informacji, zobacz Wdrażanie rozszerzeń dla narzędzia programu SharePoint w programie Visual Studio.

Zobacz też

Koncepcje

Rozszerzanie programu SharePoint, pakowania i rozmieszczania