مشاركة عبر


الإرشادات التفصيلية: تعريف المشروع SharePoint العنصر نوع مع قالب العنصر

يمكنك توسيع النظام المشروع SharePoint في Visual Studio 2010 عن طريق إنشاء المشروع الخاص بك صواب أنواع. في هذه معاينة يتم إنشاء مشروع العنصر يمكن إضافتها إلى مشروع SharePoint لإنشاء إجراء مخصص على موقع SharePoint. صواب إضافة عنصر قائمة إلى القائمة إجراءات الموقع لموقع SharePoint.

توضح هذه الإرشادات التفصيلية المهام التالية:

  • إنشاء ملحق ‏‫Visual Studio بتطبيق العديد من الميزات المخصصة لمشروع جديد العنصر:

    • A اختصار القائمة كيؤشر بداية للمهام إضافية متعلقة عنصر المشروع مثل عرض مصمم للإجراء المخصص في ‏‫Visual Studio.

    • A صواب التي تظهر في الإطار خصائص عنصر مشروع.

    • تعليمات برمجية التي يتم تنفيذها عند تغيير مطوراً خصائص معينة في المشروع العنصر والمشروع الذي يحتوي عليه.

  • إنشاء برنامج ‏‫Visual Studio قالب العنصر عنصر المشروع.

  • إنشاء حزمة ‏‫Visual Studio ملحق (VSIX) لنشر المشروع قالب العنصر والتجميع الملحق.

  • التصحيح والاختبار المشروع العنصر.

بعد الانتهاء من هذه معاينة، يمكنك تحسين عنصر مشروع بإضافة معالج إلى عليه. لمزيد من المعلومات، راجع الإرشادات التفصيلية: إنشاء معالج قوالب عنصر لنوع عنصر الخاص بالمشروع SharePoint مخصص.

المتطلبات الأساسية

تحتاج إلى المكونات التالية على الكمبيوتر تطوير لإكمال هذه معاينة:

معرفة المفاهيم التالية مفيدة ولكن لا يتطلب إلى إكمال في معاينة:

إنشاء المشروع

لإكمال هذه معاينة هذه، تحتاج إلى إنشاء ثلاثة المشاريع:

  • مشروع VSIX. هذا مشروع بإنشاء الحزمة VSIX إلى نشر عنصر مشروع SharePoint.

  • مشروع قالب العنصر. ينشئ هذا المشروع قالب العنصر التي يمكن استخدامها لإضافة عنصر SharePoint المشروع إلى مشروع SharePoint.

  • مشروع مكتبة فئة. يطبق هذا مشروع إلى ملحق ‏‫Visual Studio الذي يقوم بتعريف سلوك مشروع SharePoint العنصر.

يبدأ التوضيح من خلال إنشاء المشاريع.

لإنشاء مشروع VSIX

  1. ابدأ Visual Studio.

  2. من القائمة File (ملف)، أشر إلى New (جديد)، ثم انقر فوق Project (مشروع).

  3. في صندوق التحرير والسرد في أعلى صندوق الحوار مشروع جديد ، تأكد من أن من .NET Framework 4 هو المحدد.

  4. في مربع حوار المشروع جديد ، قم بتوسيع ‏‫#Visual C أو عقد Visual Basic ، ثم انقر فوق عقدة الامتداد.

    ملاحظة

    يتوفر العقدة القابلية للتوسعة فقط في حالة تثبيت SDK 2010 صواب. لمزيد من المعلومات، راجع قسم المتطلبات في الأعلى.

  5. انقر فوق القالب VSIX مشروع.

  6. في المربع الاسم، اكتب X-UA-Compatible.

  7. انقر فوق موافق.

    Visual StudioبإضافةGenerateExternalDataLists المشروع إلى مستكشف الحلول.

إلى إنشاء مشروع قالب العنصر

  1. في مستكشف الحلول, ينقر على اليمين عقدة الحل انقر فوق إضافةومن ثم انقر فوق مشروع جديد.

    ملاحظة

    في مشاريع Visual Basic عقدة الحل تظهر في مستكشف الحلول فقط عند تحديد إظهار الحل في خانة الفحص عام، مشاريع وحلول، مربع حوار الخيارات.

  2. في مربع حوار المشروع جديد ، قم بتوسيع ‏‫#Visual C أو عقد Visual Basic ، ثم انقر فوق عقدة الامتداد.

  3. تحديد قالب العنصر C#‎ أو قالب مشروع في Visual أساسى قالب العنصر .

  4. في المربع الاسم ، نوع من ItemTemplate.

  5. انقر فوق موافق.

    Visual StudioإضافةItemTemplate مشروع إلى الحل.

  6. قم بحذف التعليمة البرمجية فئة ملف من مشروع.

إلى إنشاء ملحق المشروع

  1. في مستكشف الحلول, ينقر على اليمين عقدة الحل انقر فوق إضافةومن ثم انقر فوق مشروع جديد.

  2. في مشروع جديد صندوق حوار توسيع Visual C#‎ أو عقد Visual أساسى وثم انقر فوق العقدة Windows.

  3. في مربع التحرير والسرد في أعلى مربع الحوار ، حدد .NET Framework 3.5 أو .NET Framework 4 .

  4. تحديد قالب مشروع مكتبة الفئات.

  5. في المربع الاسم، اكتب X-UA-Compatible.

  6. انقر فوق موافق.

    Visual Studio يضيف DeploymentStepExtension المشروع صواب الحل ويتم فتح ملف التعليمات البرمجية Class1 الافتراضي.

  7. إحذف تعليمات برمجية ملف Class1 من المشروع.

تعديل الملحق التابع للمشروع

قبل أن تقوم بكتابة التعليمات البرمجية لإنشاء عنصر الملحق للمشروع ، أضف ملفات التعليمات البرمجية و مراجع التجميع لملحق المشروع .

لتعديل المشروع

  1. في مشروع WebPartNodeExtension إضافة أربعة ملفات تعليمات برمجية ذات الأسماء التالية:

    • CustomAction 3:

    • MenuExtension

    • PropertyGridExtension

  2. في قائمة المشروع انقر فوق إضافة مرجع .

  3. تشغيل التبويب .NET ، اضغط المفتاح 'Ctrl' ثم انقر فوق التجميعات التالية له ثم انقر فوق ‏‏موافق :

    • Microsoft.VisualStudio.SharePoint

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

    • اطارات رسم النظام

تعريف مشروع SharePoint جديد العنصر

إنشاء فئة بتعريف سلوك مشروع جديد العنصر. صواب تعريف عنصر مشروع جديد, بتنفيذ الفئة ISharePointProjectItemTypeProvider واجهة. تطبق هذه الواجهة في أي وقت ترغب في تعريف نوع جديد من مشروع العنصر.

إلى تعريف عنصر المشروع SharePoint جديدة

  1. في مشروع ProjectItemDefinition، قم بفتح التعليمات البرمجية CustomAction ملف.

  2. استبدل هذه التعليمة البرمجية بالسطر التالي من التعليمة البرمجية:

    ملاحظة

    بعد إضافة هذا التعليمات البرمجية ، سيصبح في المشروع بعض أخطاء الترجمة. هذه الأخطاء سوف تختفي عند إضافة تعليمات برمجية أخرى فيما بعد.

    Imports System
    Imports System.Diagnostics
    Imports System.ComponentModel
    Imports System.ComponentModel.Composition
    Imports Microsoft.VisualStudio.SharePoint
    
    Namespace Contoso.SharePointProjectItems.CustomAction
    
        ' Export attribute: Enables Visual Studio to discover and load this extension.
        ' SharePointProjectItemType attribute: Specifies the ID for this new project item type. This string must 
        '     match the value of the Type attribute of the ProjectItem element in the .spdata file for 
        '     the project item.
        ' SharePointProjectItemIcon attribute: Specifies the icon to display with this project item in Solution Explorer.
        ' CustomActionProjectItemTypeProvider class: Defines a new type of project item that can be used to create a custom 
        '     action on a SharePoint site.
        <Export(GetType(ISharePointProjectItemTypeProvider))> _
        <SharePointProjectItemType("Contoso.CustomAction")> _
        <SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")> _
        Partial Friend Class CustomActionProjectItemTypeProvider
            Implements ISharePointProjectItemTypeProvider
    
            Private WithEvents projectItemTypeDefinition As ISharePointProjectItemTypeDefinition
    
            ' Configures the behavior of the project item type.
            Private Sub InitializeType(ByVal projectItemTypeDefinition As ISharePointProjectItemTypeDefinition) _
                Implements ISharePointProjectItemTypeProvider.InitializeType
    
                projectItemTypeDefinition.Name = "CustomAction"
                projectItemTypeDefinition.SupportedDeploymentScopes = _
                    SupportedDeploymentScopes.Site Or SupportedDeploymentScopes.Web
                projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All
                Me.projectItemTypeDefinition = projectItemTypeDefinition
            End Sub
    
            Private Sub ProjectItemNameChanged(ByVal Sender As Object, ByVal e As NameChangedEventArgs) _
                Handles projectItemTypeDefinition.ProjectItemNameChanged
                Dim projectItem As ISharePointProjectItem = CType(Sender, ISharePointProjectItem)
                Dim message As String = String.Format("The name of the {0} item changed to: {1}", _
                    e.OldName, projectItem.Name)
                projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message)
            End Sub
        End Class
    End Namespace
    
    using System;
    using System.Diagnostics;
    using System.ComponentModel;
    using System.ComponentModel.Composition;
    using Microsoft.VisualStudio.SharePoint;
    
    namespace Contoso.SharePointProjectItems.CustomAction
    {
        // Enables Visual Studio to discover and load this extension.
        [Export(typeof(ISharePointProjectItemTypeProvider))]
    
        // Specifies the ID for this new project item type. This string must match the value of the 
        // Type attribute of the ProjectItem element in the .spdata file for the project item.
        [SharePointProjectItemType("Contoso.CustomAction")]
    
        // Specifies the icon to display with this project item in Solution Explorer.
        [SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")]
    
        // Defines a new type of project item that can be used to create a custom action on a SharePoint site.
        internal partial class CustomActionProjectItemTypeProvider : ISharePointProjectItemTypeProvider
        {
            // Implements IProjectItemTypeProvider.InitializeType. Configures the behavior of the project item type.
            public void InitializeType(ISharePointProjectItemTypeDefinition projectItemTypeDefinition)
            {
                projectItemTypeDefinition.Name = "CustomAction";
                projectItemTypeDefinition.SupportedDeploymentScopes =
                    SupportedDeploymentScopes.Site | SupportedDeploymentScopes.Web;
                projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All;
    
                projectItemTypeDefinition.ProjectItemNameChanged += ProjectItemNameChanged;
                projectItemTypeDefinition.ProjectItemPropertiesRequested += ProjectItemPropertiesRequested;
                projectItemTypeDefinition.ProjectItemMenuItemsRequested += ProjectItemMenuItemsRequested;
            }
    
            private void ProjectItemNameChanged(object sender, NameChangedEventArgs e)
            {
                ISharePointProjectItem projectItem = (ISharePointProjectItem)sender;
                string message = String.Format("The name of the {0} item changed to: {1}",
                    e.OldName, projectItem.Name);
                projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message);
            }
        }
    }
    

إنشاء خصائص مخصصة مشروع العنصر

إضافة تعريف جزئي CustomActionProjectItemTypeProvider الفئة إنشاء مخصص صواب عنصر المشروع. المخصصة صواب يظهر في الإطار خصائص عندما يحدد مطور عنصر مشروع في مستكشف الحلول.

إنشاء خصائص مخصصة مشروع العنصر

  1. في مشروع ProjectItemDefinition، قم بفتح التعليمات البرمجية PropertyGridExtension ملف.

  2. قم بلصق التعليمات البرمجية التالية في "المفكرة":

    Imports Microsoft.VisualStudio.SharePoint
    Imports System
    Imports System.Collections.Generic
    Imports System.ComponentModel
    
    Namespace Contoso.SharePointProjectItems.CustomAction
    
        Partial Friend Class CustomActionProjectItemTypeProvider
    
            Private Sub ProjectItemPropertiesRequested(ByVal Sender As Object, _
                ByVal e As SharePointProjectItemPropertiesRequestedEventArgs) _
                Handles projectItemTypeDefinition.ProjectItemPropertiesRequested
    
                Dim properties As CustomActionProperties = Nothing
    
                ' If the properties object already exists, get it from the project item's annotations.
                If False = e.ProjectItem.Annotations.TryGetValue(properties) Then
                    ' Otherwise, create a new properties object and add it to the annotations.
                    properties = New CustomActionProperties(e.ProjectItem)
                    e.ProjectItem.Annotations.Add(properties)
                End If
                e.PropertySources.Add(properties)
            End Sub
        End Class
    
        Friend Class CustomActionProperties
            Private projectItem As ISharePointProjectItem
            Private Const propertyId As String = "Contoso.CustomActionTestProperty"
            Private Const propertyDefaultValue As String = "This is a test value."
            Private Const propertyDescription As String = "This is a test property for the Contoso Custom Action project item."
            Private Const propertyName As String = "Custom Action Property"
    
            Friend Sub New(ByVal projectItem As ISharePointProjectItem)
                Me.projectItem = projectItem
            End Sub
    
            ' Gets or sets a simple string property. The property value is stored in the ExtensionData property
            ' of the project item. Data in the ExtensionData property persists when the project is closed.
            <DisplayName(propertyName)> _
            <DescriptionAttribute(propertyDescription)> _
            <DefaultValue(propertyDefaultValue)> _
            Public Property TestProperty As String
                Get
                    Dim propertyValue As String = Nothing
    
                    ' Get the current property value if it already exists; otherwise, return a default value.
                    If False = projectItem.ExtensionData.TryGetValue(propertyId, propertyValue) Then
                        propertyValue = propertyDefaultValue
                    End If
                    Return propertyValue
                End Get
                Set(ByVal value As String)
                    If value <> propertyDefaultValue Then
                        projectItem.ExtensionData(propertyId) = value
                    Else
                        ' Do not save the default value.
                        projectItem.ExtensionData.Remove(propertyId)
                    End If
                End Set
            End Property
        End Class
    End Namespace
    
    using Microsoft.VisualStudio.SharePoint;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    
    namespace Contoso.SharePointProjectItems.CustomAction
    {
        internal partial class CustomActionProjectItemTypeProvider
        {
            private void ProjectItemPropertiesRequested(object sender,
                SharePointProjectItemPropertiesRequestedEventArgs e)
            {
                CustomActionProperties properties;
    
                // If the properties object already exists, get it from the project item's annotations.
                if (!e.ProjectItem.Annotations.TryGetValue(out properties))
                {
                    // Otherwise, create a new properties object and add it to the annotations.
                    properties = new CustomActionProperties(e.ProjectItem);
                    e.ProjectItem.Annotations.Add(properties);
                }
    
                e.PropertySources.Add(properties);
            }
        }
    
        internal class CustomActionProperties
        {
            private ISharePointProjectItem projectItem;
            private const string propertyId = "Contoso.CustomActionTestProperty";
            private const string propertyDefaultValue = "This is a test value.";
            private const string propertyDescription = "This is a test property for the Contoso Custom Action project item.";
            private const string propertyName = "Custom Action Property";
    
            internal CustomActionProperties(ISharePointProjectItem projectItem)
            {
                this.projectItem = projectItem;
            }
    
            // Gets or sets a simple string property. The property value is stored in the ExtensionData property
            // of the project item. Data in the ExtensionData property persists when the project is closed.
            [DisplayName(propertyName)]
            [DescriptionAttribute(propertyDescription)]
            [DefaultValue(propertyDefaultValue)]
            public string TestProperty
            {
                get
                {
                    string propertyValue;
    
                    // Get the current property value if it already exists; otherwise, return a default value.
                    if (!projectItem.ExtensionData.TryGetValue(propertyId, out propertyValue))
                    {
                        propertyValue = propertyDefaultValue;
                    }
                    return propertyValue;
                }
                set
                {
                    if (value != propertyDefaultValue)
                    {
                        projectItem.ExtensionData[propertyId] = value;
                    }
                    else
                    {
                        // Do not save the default value.
                        projectItem.ExtensionData.Remove(propertyId);
                    }
                }
            }
        }
    }
    

إنشاء اختصار قائمة عنصر عنصر المشروع

إضافة تعريف جزئي CustomActionProjectItemTypeProvider الفئة إنشاء مخصص صواب عنصر المشروع. يظهر عنصر القائمة عند المطور صواب-بالنقر فوق عنصر مشروع في مستكشف الحلول.

إنشاء اختصار قائمة عنصر عنصر المشروع

  1. في مشروع ProjectItemDefinition، قم بفتح التعليمات البرمجية MenuExtension ملف.

  2. قم بلصق التعليمات البرمجية التالية في "المفكرة":

    Imports System
    Imports Microsoft.VisualStudio.SharePoint
    
    Namespace Contoso.SharePointProjectItems.CustomAction
    
        Partial Friend Class CustomActionProjectItemTypeProvider
    
            Private Const DesignerMenuItemText As String = "View Custom Action Designer"
    
            Private Sub ProjectItemMenuItemsRequested(ByVal Sender As Object, _
                ByVal e As SharePointProjectItemMenuItemsRequestedEventArgs) _
                Handles projectItemTypeDefinition.ProjectItemMenuItemsRequested
    
                Dim viewDesignerMenuItem As IMenuItem = e.ViewMenuItems.Add(DesignerMenuItemText)
                AddHandler viewDesignerMenuItem.Click, AddressOf MenuItemClick
            End Sub
    
            Private Sub MenuItemClick(ByVal Sender As Object, ByVal e As MenuItemEventArgs)
                Dim projectItem As ISharePointProjectItem = CType(e.Owner, ISharePointProjectItem)
                Dim message As String = String.Format("You clicked the menu on the {0} item. " & _
                    "You could perform some related task here, such as displaying a designer " & _
                    "for the custom action.", projectItem.Name)
                System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action")
            End Sub
        End Class
    End Namespace
    
    using System;
    using Microsoft.VisualStudio.SharePoint;
    
    namespace Contoso.SharePointProjectItems.CustomAction
    {
        internal partial class CustomActionProjectItemTypeProvider
        {
            private const string designerMenuItemText = "View Custom Action Designer";
    
            private void ProjectItemMenuItemsRequested(
                object sender, SharePointProjectItemMenuItemsRequestedEventArgs e)
            {
                e.ViewMenuItems.Add(designerMenuItemText).Click += MenuItemClick;
            }
    
            private void MenuItemClick(object sender, MenuItemEventArgs e)
            {
                ISharePointProjectItem projectItem = (ISharePointProjectItem)e.Owner;
                string message = String.Format("You clicked the menu on the {0} item. " +
                    "You could perform some related task here, such as displaying a designer " +
                    "for the custom action.", projectItem.Name);
                System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action");
            }
        }
    }
    

إنشاء رمزًا مشروع العنصر في مستكشف الحلول

عندما تقوم بإنشاء مشروع مخصص SharePoint العنصر, يمكنك إقران نسخة (رمز أو نسخة نقطية) المشروع العنصر. يظهر هذا الشكل التالي صواب عنصر مشروع في مستكشف الحلول.

في الإجراء التالي، إنشاء رمز للمشروع العنصر ويضمّنه الرمز الموجود في التجميع الملحق. هذا صواب يتم الإشارة إليها بواسطة SharePointProjectItemIconAttribute من CustomActionProjectItemTypeProvider الفئة التي قمت بإنشائها سابقاً.

لإنشاء رمز مخصص للمشروع العنصر

  1. في مستكشف الحلول، صواب-انقر فوق المشروع ProjectItemDefinition.

  2. من القائمة المختصرة انقر فوق إضافة ثم انقر فوق تنفيذ واجهة .

  3. في القائمة عناصر المشروع انقر فوق ملف صواب .

    ملاحظة

    في مشاريع Visual Basic يجب النقر فوق العقدة عام صواب انظر العنصر ملف الرمز.

  4. اكتب CustomAction_SolutionExplorer.ico عن اسم رمز جديد ثم انقر فوق صواب .

    فتح رمز جديد في محرر الصور.

  5. تحرير إصدار 16 × 16 ملف الرمز بحيث يكون له تصميم الذي يمكن التعرف عليها ثم احفظ ملف الرمز.

  6. في مستكشف الحلول، انقر فوق CustomAction_SolutionExplorer.ico.

  7. في النافذة الخصائص، انقر فوق قائمة منسدلة التالي إلى بناء إجراء ثم تحديد الموارد المضمنة.

Checkpoint (نقطة التحقق)

عند هذه النقطة من الإرشادات التفصيلية, جميع التعليمات البرمجية لعنصر الملحق التابعة للمشروع متواجدة فيه. أنشأ الحل للتأكد من خلو تطبيق المشروع من الأخطاء.

لبناء المشروع الخاص بك

  • من القائمة Build (بناء)، انقر فوق Build Solution (بناء الحل).

إنشاء برنامج ‏‫Visual Studio قالب العنصر

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

لإنشاء قالب العنصر

  1. في مشروع ItemTemplate، قم بفتح ItemTemplate.vstemplate ملف.

  2. استبدال محتويات الملف XML التالي، و ثم احفظ و إغلاق الملف.

    ملاحظة

    XML التالية Visual C# العنصر القالب. إذا كنت تقوم بإنشاء قالب العنصر Visual أساسى، يتم استبدال القيمة ProjectTypeعنصر مع VisualBasic.

    <VSTemplate Version="2.0.0" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
      <TemplateData>
        <DefaultName>CustomAction</DefaultName>
        <Name>Custom Action</Name>
        <Description>SharePoint Custom Action by Contoso</Description>
        <ProjectType>CSharp</ProjectType>
        <SortOrder>1000</SortOrder>
        <Icon>ItemTemplate.ico</Icon>
        <ProvideDefaultName>true</ProvideDefaultName>
      </TemplateData>
      <TemplateContent>
        <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\Elements.xml">Elements.xml</ProjectItem>
        <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\SharePointProjectItem.spdata">CustomAction.spdata</ProjectItem>
      </TemplateContent>
    </VSTemplate>
    

    يعرّف هذا الملف محتويات القالب العنصر وسلوكها. للحصول على مزيد من المعلومات حول المحتويات هذا صواب ، راجع مرجع مخطط قالب Studio المرئي.

  3. في من مستكشف الحل، انقر نقراً مزدوجاً فوق مشروع ItemTemplate ، انقر فوق إضافة، و ثم انقر فوق عنصر جديد?.

  4. في الحوار إضافة عنصر جديد? ، تحديد ملف نصي، اكتب من CustomAction.spdata في الحقل اسم وانقر فوق إضافة.

  5. إضافة the following XML إلى the CustomAction.spdata ملف, و then حفظ و يغلق the ملف.

    <?xml version="1.0" encoding="utf-8"?>
    <ProjectItem Type="Contoso.CustomAction" DefaultFile="Elements.xml" 
     xmlns="https://schemas.microsoft.com/VisualStudio/2010/SharePointTools/SharePointProjectItemModel">
      <Files>
        <ProjectItemFile Source="Elements.xml" Target="$fileinputname$\" Type="ElementManifest" />
      </Files>
    </ProjectItem>
    

    يحتوي هذا الملف على معلومات حول الملفات التي يحتوي عليها المشروع العنصر. Type سمة ProjectItem يجب أن يتم تعيين عنصر صواب سلسلة نفسه الذي تم تمريره صواب SharePointProjectItemTypeAttribute في تعريف العنصر المشروع ( CustomActionProjectItemTypeProvider الفئة التي تم إنشاؤها مسبقًا في هذه الإرشادات التفصيلية). للحصول على مزيد من المعلومات حول المحتويات .spdata صواب ، راجع مرجع لمخطط عنصر المشروع SharePoint.

  6. في من مستكشف الحل، انقر نقراً مزدوجاً فوق مشروع ItemTemplate ، انقر فوق إضافة، و ثم انقر فوق عنصر جديد?.

  7. في إضافة عنصر جديد? الحوار تحديد ملف XML ، اكتب عناصر.xml في الحقل الاسم وانقر فوق إضافة.

  8. استبدال the المحتويات of the عناصر.ملف XML مع the following XML, و then حفظ و يغلق the file.

    <?xml version="1.0" encoding="utf-8" ?>
    <Elements Id="$guid8$" xmlns="https://schemas.microsoft.com/sharepoint/">
      <CustomAction Id="Replace this with a GUID or some other unique string"
                    GroupId="SiteActions"
                    Location="Microsoft.SharePoint.StandardMenu"
                    Sequence="1000"
                    Title="Replace this with your title"
                    Description="Replace this with your description" >
        <UrlAction Url="~site/Lists/Tasks/AllItems.aspx"/>
      </CustomAction>
    </Elements>
    

    هذا الملف تعريف افتراضي صواب التي إنشاء عنصر قائمة على القائمة إجراءات الموقع لموقع SharePoint. عند قيام مستخدم بالنقر فوق عنصر القائمة URL المحدد في UrlAction فتح العنصر في مستعرض ويب. لمزيد من المعلومات حول عناصر XML لاستخدامه في تحديد إجراء مخصص راجع تعريفات إجراء مخصص.

  9. Optionally, فتح the ItemTemplate.ico ملف و تعديل it so that it has a تصميم that you can recognize. سيتم عرض هذا الرمز إلى جانب عنصر مشروع في مربع الحوار صواب جديد عنصر.

  10. في مستكشف الحلول، يمين-انقر فوق مشروع ItemTemplate وانقر فوق إلغاء تحميل مشروع.

  11. يمين-انقر فوق مشروع ItemTemplate مرة أخرى وانقر فوق تحرير ItemTemplate.csproj أو تحرير ItemTemplate.vbproj .

  12. بحث the following VSTemplate عنصر في the ملف مشروع.

    <VSTemplate Include="ItemTemplate.vstemplate">
    
  13. استبدال this VSTemplate عنصر مع the following XML.

    <VSTemplate Include="ItemTemplate.vstemplate">
      <OutputSubPath>SharePoint\SharePoint14</OutputSubPath>
    </VSTemplate>
    

    The OutputSubPath عنصر specifies إضافى مجلدات في the مسار under which the قالب العنصر هو تاريخ الإنشاء when you بنية the مشروع. The مجلدات specified هنا ensure that the قالب العنصر will be متوفر فقط when customers انقر the 2010 عقدة under the SharePoint عقدة في the إضافة عنصر جديد? حوار صندوق.

  14. قم بحفظ الملف وإغلاقه.

  15. في مستكشف الحلول، ينقر على اليمين من ItemTemplate للمشروع وانقر فوق إعادة تحميل مشروع.

إنشاء حزمة VSIX إلى نشر المشروع العنصر

إلى توزيع الملحق ، استخدم المشروع VSIX في الحل إلى إنشاء حزمة VSIX. أولاً، قم بتكوين حزمة VSIX عن طريق تعديل الملف المصدر.ملحق.vsixmanifest المتضمن في المشروع VSIX. قم بعد ذلك إنشاء الحزمة VSIX بواسطة إنشاء الحل.

تكوين حزمة VSIX وإنشاء

  1. مستكشف الحلول ، ضمن المشروع UpgradeDeploymentStep انقر نقراً مزدوجاً فوق صواب. extension.vsixmanifest الملف .

    ‏‫Visual Studio يفتح الملف في محرر ملف البيان. يعتبر ملف المصدر.ملحق.vsixmanifest الأساس لملف ملحق.vsixmanifest مطلوب من قبل الكل حزم VSIX. للحصول على مزيد من المعلومات حول هذا الموضوع، انظر المقالةمخطط VSX للحصول على ملحقات.

  2. في المربع المنتج الاسم، اكتب صواب Project عنصر .

  3. في المربع الكاتب نوع شركة النصر.

  4. في المربع الوصف، اكتب عنصر المشروع SharePoint A الذي يمثل صواب .

  5. في المقطع المحتوى من محرر "" ، انقر فوق الزر إضافة المحتوى.

  6. في إضافة محتوى مربع حوار في تحديد نوع محتوى مربع قائمة، تحديد MEF مكوّنات.

    ملاحظة

    يتوافق مع هذه القيمة إلى ItemTemplateالعنصر في ملف ملحق.vsixmanifest. يعرّف هذا العنصر الفرعي في حزمة VSIX التي تحتوي على قالب العنصر المشروع. لمزيد من المعلومات، راجع عنصر ItemTemplate (VSX مخطط).

  7. Under تحديد a المصدر, انقر the مشروع زر تبادلي, و تحديد ItemTemplate في the صندوق قائمة التالي إلى it.

  8. انقر فوق موافق.

  9. في محرر بيان انقر فوق إضافة محتوى صواب مرة أخرى.

  10. في إضافة محتوى مربع حوار في تحديد نوع محتوى مربع قائمة، تحديد MEF مكوّنات.

    ملاحظة

    يتوافق مع هذه القيمة إلى MefComponentالعنصر في ملف ملحق.vsixmanifest. تحديد هذا العنصر اسم التجميع ملحق في حزمة VSIX. لمزيد من المعلومات، راجع عنصر MEFComponent (VSX مخطط).

  11. ضمن تحديد مصدر، انقر فوق زر الخيار Project ثم حدد DeploymentStepExtension في صواب المجاورة له.

  12. انقر فوق موافق.

  13. من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل). تأكد من أن الحل برمجيًا دون أخطاء.

  14. فتح مجلد الإخراج بناء المشروع UpgradeDeploymentStep. تأكد من أن يحتوي هذا المجلد الآن ملف UpgradeDeploymentStep.vsix.

    مجلد إخراج بناء بشكل افتراضي \bin\يصحح مجلد under the مجلد that يحتوي على the CustomActionProjectItem مشروع.

اختبار المشروع العنصر

أنت الآن جاهز لاختبار المشروع العنصر. أول، يبدأ التصحيح الحل CustomActionProjectItem في نسخة تجريبية من برنامج ‏‫Visual Studio. وبعد ذلك، قم باختبار عنصر المشروع إجراء مخصص في مشروع SharePoفيt في نسخة تجريبية من برنامج ‏‫Visual Studio. وأخيراً، البناء والتشغيل مشروع SharePoint إلى التحقق من أن إجراء cusإلىm يعمل كما هو متوقع.

لبدء التصحيح الحل

  1. قم بإعادة تشغيل برنامج ‏‫Visual Studio بامتيازات مسؤول و فتح الحل CustomActionProjectItem.

  2. فتح ملف التعليمات البرمجية CustomAction و صواب نقاط إيقاف إلى السطر الأول من التعليمات البرمجية في InitializeType الأسلوب.

  3. F5 اضغط إلى بدء التصحيح.

    تثبيت الملحق %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\إجراء مخصص العنصر\1.0 مشروع ‏‫Visual Studio ثم يقوم بتشغيل مثيل التجريبي من برنامج ‏‫Visual Studio. سيتم اختبار المشروع العنصر في هذا المثيل من ‏‫Visual Studio.

لاختبار المشروع العنصر في ‏‫Visual Studio

  1. في تجريبية مثيل من ‏‫Visual Studio القائمة ملف، أشر إلى جديد، ثم انقر فوق مشروع.

  2. $ $ $ $ المتوقعة و Visual C#‎ أو Visual أساسى (استناداً إلى لغة قالب العنصر الخاص بك يدعم), $ $ $ $ المتوقعة و SharePoint ، و ثم انقر فوق 2010 .

  3. في قائمة قوالب المشروع صواب Project فارغة.

  4. في المربع الاسم، اكتب X-UA-Compatible.

  5. انقر فوق موافق.

  6. في معالج تخصيص SharePoint ، صواب محدد موقع المعلومات للموقع الذي تريد استخدامه للتصحيح.

  7. في مستكشف الحلول، انقر بالزر الأيمن للفأرة فوق مشروع ، أشر إلى إضافة، ثم انقر فوق عنصر جديد.

  8. في مربع الحوار صواب جديد عنصر ، انقر فوق العقدة 2010 ضمن العقدة SharePoint.

    تحقق من ظهور العنصر صواب في قائمة عناصر المشروع.

  9. انقر فوق صواب ثم انقر فوق إضافة.

    صواب يضيف جديد عنصر يسمى CustomAction1 إلى المشروع وتم فتح الملف Elements.xml في المحرر.

  10. تحقق من تعليمات برمجية الموجودة في أخرى يتوقف المثيل ‏‫Visual Studio تشغيل نقاط الإيقاف المعينة مسبقًا في InitializeTypeالأسلوب. اضغط F5 للمتابعة إلى تصحيح المشروع.

  11. في نسخة تجريبية من Visual Studio في مستكشف الحلول، صواب - انقر فوق العقدة CustomAction1 ثم انقر فوق في " مصمم إجراءات مخصصة عرض. تحقق من ظهور مربع رسالة ثم انقر فوق ‏‏موافق .

    يمكنك استخدام قائمة مختصرة هذه إلى توفير خيارات إضافية أو الأوامر لمطوري مثل عرض مصمم للحصول إجراء مخصص.

  12. في مستكشف الحلول، انقر فوق العقدة CustomAction1 واضغط F4. يتم فتح الإطار صواب.

  13. تحقق من ظهور صواب خاصية الخاصية في القائمة خصائص.

  14. فيعرضالقائمة انقر فوق Design (تصميم).

    يتم فتح الإطار صواب.

  15. مستكشف الحلول، انقر بزر الماوس الأيمن فوق العنصر CustomAction1 ، وقم بتغيير صواب إلى MyCustomAction.

    يجب أن تشاهد رسالة تأكيد في الإطار صواب تتم كتابة هذه الرسالة عن طريق ProjectItemNameChanged المعرفة في معالج الأحداث CustomActionProjectItemTypeProvider class. يمكنك معالجة هذا الحدث والأحداث الأخرى المشروع العنصر لتنفيذ سلوك مخصص عند تعديل المطور عنصر المشروع.

لاختبار إجراء مخصص في SharePoint

  1. في نسخة تجريبية من صواب ، افتح الملف Elements.xml تابعاً عنصر المشروع MyCustomAction.

  2. في ملف عناصر.xml إجراء التغييرات التالية:

    • في the CustomAction عنصر, التعيين the Id سمة إلى a معرّف فريد عالمي أو some غير ذلك unique سلسلة. فعلى سبيل المثال:

      Id="cd85f6a7-af2e-44ab-885a-0c795b52121a"
      
    • في CustomAction تعيين عنصر Title السمة كما يلي:

      Title="SharePoint Developer Center"
      
    • في تعيينDescription عنصر CustomActionالسمة كما يلي:

      Description="Opens the SharePoint Developer Center Web site."
      
    • في تعيينUrl عنصر UrlActionالسمة كما يلي:

      Url="https://msdn.microsoft.com/sharepoint/default.aspx"
      
  3. حفظ الملف عناصر.xml.

  4. اضغط المفتاح F5. إجراء مخصص حزم ثم نشره على موقع SharePoint المحدد بواسطة محدد موقع معلومات خاصية المشروع. يفتح مستعرض ويب إلى الصفحة الافتراضية لهذا الموقع.

    ملاحظة

    إذا تم عرض مربع الحوار Script معطّل التصحيح , انقر فوق نعم صواب متابعة صواب تصحيح المشروع.

  5. صواب القائمة إجراءات الموقع. تحقق إجراء مخصص المسماة مركز المطور SharePoint يظهر في أسفل هذه القائمة.

  6. انقر the SharePoint Developer مركز قائمة العنصر. تحقق من أن يفتح المستعرض https://msdn.microsoft.com/sharepoint/الافتراضي.aspx موقع ويب.

  7. قم بغلق مستعرض الويب.

تنظيف "الكمبيوتر تطوير"

بعد الانتهاء من اختبار عنصر مشروع، قم بإزالة قالب العنصر مشروع من مثيل تجريبي من برنامج ‏‫Visual Studio.

تنظيف "الكمبيوتر تطوير"

  1. في نسخة تجريبية من ‏‫Visual Studio على القائمة أدوات، انقر فوق ملحق إدارة.

    فتح مربع حوار ملحق إدارة.

  2. في قائمة ملحقات انقر فوق إجراء صواب عنصر Project ثم انقر فوق إلغاء التثبيت.

  3. في مربع حوار الذي يظهر، انقر فوق نعم إلى يؤكّد أنك تريد إلى تثبيت الملحق.

  4. انقر فوق إعادة التشغيل الآن إلى إكمال إلغاء التثبيت.

  5. يغلق مثيلي ‏‫Visual Studio (مثيل تجريبية و مثيل ‏‫Visual Studio لدى فتح الحل UpgradeDeploymentStep).

الخطوات التالية

بعد you إكمال this معاينة, you can إضافة a معالج إلى the قالب العنصر. عندما يضيف مستخدم عنصر مشروع "إجراء مخصص" لمشروع SharePoint، يقوم معالج بتجميع المعلومات حول الإجراء المخصص (مثل موقعة وعنوان URL للتنقل إلى متى هو بالنقر فوق) ويضيف th هو المعلومات إلى ملف عناصر.xml في عنصر المشروع الجديد. لمزيد من المعلومات، راجع الإرشادات التفصيلية: إنشاء معالج قوالب عنصر لنوع عنصر الخاص بالمشروع SharePoint مخصص.

راجع أيضًا:

المهام

إنشاء صورة نقطية جديدة أو صورة أخرى

المرجع

مرجع مخطط قالب Studio المرئي

محرر الصور

المبادئ

باستخدام الخدمة SharePoint مشروع

موارد أخرى

الإرشادات التفصيلية: إنشاء معالج قوالب عنصر لنوع عنصر الخاص بالمشروع SharePoint مخصص

تعريف المشروع SharePoint العنصر أنواع مخصصة

إنشاء قوالب العنصر قوالب Project من أجل عناصر SharePoint مشروع