مشاركة عبر


كيفية القيام بما يلي: إنشاء ميزة مخصصة وقواعد التحقق من صحة حزمة لـ SharePoint حلول

يمكنك إنشاء قواعد تحقق مخصصة للتحقق من حزمة الحلول التي تم إنشاؤها بواسطة ‏‫Visual Studio. يمكنك إجراء تحقق كامل على الميزة أو الحزمة بأكملها بواسطة تحديد تحقق من قائمة السياق الخاصة بحزمة أو بميزة في مستكشف التحزيم يتم إجراء التحقق الجزئي من الصحة عند إضافة ميزات أو عناصر المشروع SharePonit الجديدة إلى المشروع لتحديد ما إذا كانت الحزمة أو الميزة ستكون في الحالة الصالحة.

لإنشاء حزمة مخصصة لقاعدة التحقق من الصحة

  1. إلى إنشاء مشروع مكتبة فئة

  2. إضافة مراجع إلى التجميعات التالية.

    • Microsoft.VisualStudio.SharePoint

    • النظام.ComponentModel.إنشاء

  3. إنشاء فئة تنفيذ إحدى الواجهات التالية:

    • لإنشاء حزمة قاعدة للتحقق من الصحة ، تقوم بتطبيق IPackageValidationRuleالواجهة.

    • لإنشاء ميزات قاعدة التحقق من الصحة ، تقوم بتطبيق IFeatureValidationRuleالواجهة.

  4. إضافة System.ComponentModel.Composition.ExportAttributeإلى فئة. تمكّن هذه السمة ‏‫Visual Studio إلى اكتشاف وتحميل قواعد التحقق من الصحة الخاص بك. مرر IPackageValidationRule أو نوع IFeatureValidationRule لسمة الدالة الإنشائية.

المثال

يوضح المثال التالي التعليمات البرمجية لكيفية إنشاء قاعدة التحقق من الصحة بميزَات مخصصة.

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

التحويل البرمجي للتعليمات البرمجية

يتطلب هذا المثال مراجع إلى التجميعات التالية:

  • Microsoft.VisualStudio.SharePoint

  • النظام.ComponentModel.إنشاء

نشر في ملحق

إلى توزيع الملحق ، إنشاء Visual Studioملحق (VSIX) في حزمة التجميع "و" وأي ملفات أخرى تريد إلى توزيع مع الملحق. لمزيد من المعلومات، راجع تصحيح الأخطاء ملحقات لأدوات SharePoint في ‏‫Visual Studio.

راجع أيضًا:

موارد أخرى

التحزيم SharePoint extending والتوزيع