Condividi tramite


Procedura dettagliata: creazione di un Custom Action Project Item con un modello di elemento, parte 1

Il sistema di progetto SharePoint può essere esteso in Visual Studio 2010 creando tipi di elemento di progetto personalizzati. In questa procedura dettagliata, si creerà un elemento di progetto che può essere aggiunto a un progetto SharePoint per creare un'azione personalizzata in un sito di SharePoint. L'azione personalizzata aggiunge una voce al menu Azioni sito del sito di SharePoint.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creazione di un'estensione di Visual Studio che definisca un nuovo tipo di elemento di progetto SharePoint per un'azione personalizzata. Il nuovo tipo di elemento di progetto implementa numerose funzionalità personalizzate:

    • Un menu di scelta rapida utilizzato come punto di partenza per altre attività correlate all'elemento di progetto, ad esempio la visualizzazione di una finestra di progettazione per l'azione personalizzata in Visual Studio.

    • Codice che viene eseguito quando uno sviluppatore modifica alcune proprietà dell'elemento di progetto e il progetto in cui è contenuto.

    • Un'icona personalizzata viene visualizzata accanto all'elemento di progetto in Esplora soluzioni.

  • Creazione di un modello di elemento di Visual Studio per l'elemento di progetto.

  • Compilazione di un pacchetto Visual Studio Extension (VSIX) per distribuire il modello di elemento di progetto e l'assembly delle estensioni.

  • Debug e test dell'elemento di progetto.

Si tratta di una procedura dettagliata autonoma. Dopo avere completato questa procedura dettagliata, è possibile migliorare l'elemento di progetto aggiungendo una procedura guidata al modello di elemento. Per ulteriori informazioni, vedere Procedura dettagliata: creazione di un Custom Action Project Item con un modello di elemento, parte 2.

Nota

È possibile scaricare un esempio che contiene i progetti completati, il codice e altri file di questa procedura dettagliata all'indirizzo seguente: https://go.microsoft.com/fwlink/?LinkId=191369.

Prerequisiti

Per completare la procedura dettagliata, nel computer di sviluppo devono essere presenti i componenti elencati di seguito:

Per completare la procedura dettagliata è consigliabile conoscere i concetti riportati di seguito:

Creazione dei progetti

Per completare questa procedura dettagliata è necessario creare tre progetti:

  • Un progetto VSIX. Questo progetto consente di creare il pacchetto VSIX per distribuire l'elemento di progetto SharePoint.

  • Un progetto di modello di elemento. Questo progetto consente di creare un modello di elemento che può essere utilizzato per aggiungere l'elemento di progetto SharePoint a un progetto SharePoint.

  • Un progetto di libreria di classi. Questo progetto implementa un'estensione di Visual Studio che definisce il comportamento dell'elemento di progetto SharePoint.

Iniziare la procedura dettagliata creando i progetti.

Per creare il progetto VSIX

  1. Avviare Visual Studio.

  2. Nel menu File scegliere Nuovo, quindi fare clic su Progetto.

  3. Assicurarsi che nella casella combinata nella parte superiore della finestra di dialogo Nuovo progetto sia selezionata l'opzione .NET Framework 4.

  4. Nella finestra di dialogo Nuovo progetto espandere i nodi Visual C# o Visual Basic, quindi fare clic sul nodo Extensibility.

    Nota

    Il nodo Extensibility è disponibile solo se si installa Visual Studio 2010 SDK. Per ulteriori informazioni, vedere la sezione dei prerequisiti riportata in precedenza.

  5. Scegliere il modello VSIX Project.

  6. Nella casella Nome digitare CustomActionProjectItem.

  7. Scegliere OK.

    Visual Studio consente di aggiungere il progetto CustomActionProjectItem a Esplora soluzioni.

Per creare il progetto di modello di elemento

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo della soluzione, scegliere Aggiungi, quindi Nuovo progetto.

    Nota

    Nei progetti di Visual Basic, il nodo della soluzione viene visualizzato in Esplora soluzioni solo quando la casella di controllo Mostra sempre soluzione viene selezionata in Finestra di dialogo Opzioni, Progetti e soluzioni, Generale.

  2. Assicurarsi che nella casella combinata nella parte superiore della finestra di dialogo Nuovo progetto sia selezionata l'opzione .NET Framework 4.

  3. Nella finestra di dialogo Nuovo progetto espandere i nodi Visual C# o Visual Basic, quindi fare clic sul nodo Extensibility.

  4. Nell'elenco dei modelli di progetto selezionare Modello elemento C# oppure Modello elemento Visual Basic.

  5. Nella casella Nome digitare ItemTemplate.

  6. Fare clic su OK.

    Tramite Visual Studio il progetto ItemTemplate verrà aggiunto alla soluzione.

Per creare il progetto di estensione

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo della soluzione, scegliere Aggiungi, quindi Nuovo progetto.

  2. Assicurarsi che nella casella combinata nella parte superiore della finestra di dialogo Nuovo progetto sia selezionata l'opzione .NET Framework 4.

  3. Nella finestra di dialogo Nuovo progetto espandere il nodo Visual C# o Visual Basic, quindi fare clic sul nodo Windows.

  4. Selezionare il modello di progetto Libreria di classi.

  5. Nella casella Nome digitare ProjectItemDefinition.

  6. Fare clic su OK.

    Visual Studio aggiunge il progetto ProjectItemDefinition alla soluzione e apre il file di codice predefinito Class1.

  7. Eliminare il file di codice Class1 dal progetto.

Configurazione del progetto di estensione

Prima di scrivere codice per definire il tipo di elemento di progetto SharePoint, è necessario aggiungere al progetto di estensione file di codice e riferimenti all'assembly.

Per configurare il progetto

  1. Nel progetto ProjectItemDefinition aggiungere un file di codice con il nome CustomAction.

  2. Scegliere Aggiungi riferimento dal menu Progetto.

  3. Nella scheda .NET premere CTRL e selezionare gli assembly seguenti, quindi fare clic su OK:

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

    • System.Windows.Forms

Definizione del nuovo tipo di elemento di progetto SharePoint

Creare una classe che implementi l'interfaccia ISharePointProjectItemTypeProvider per definire il comportamento del nuovo tipo di elemento di progetto. Implementare questa interfaccia tutte le volte che si desidera definire un nuovo tipo di elemento di progetto.

Per definire il nuovo elemento di progetto SharePoint

  1. Nel progetto ProjectItemDefinition aprire il file di codice CustomAction.

  2. Sostituire il codice di questo file con il seguente.

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

Creazione di un'icona per l'elemento di progetto in Esplora soluzioni

Quando si crea un elemento di progetto SharePoint personalizzato è possibile associare un'immagine (icona o bitmap) all'elemento di progetto. Questa immagine viene visualizzata accanto all'elemento di progetto in Esplora soluzioni.

Nella procedura riportata di seguito viene creata un'icona per l'elemento di progetto e tale icona viene incorporata nell'assembly delle estensioni. L'oggetto SharePointProjectItemIconAttribute della classe CustomActionProjectItemTypeProvider creata precedentemente fa riferimento all'icona.

Per creare un'icona personalizzata per l'elemento di progetto

  1. Fare clic con il pulsante destro del mouse sul progetto ProjectItemDefinition in Esplora soluzioni.

  2. Nel menu di scelta rapida selezionare Aggiungi, quindi Nuovo elemento.

  3. Nell'elenco di elementi di progetto scegliere File icona.

    Nota

    Nei progetti Visual Basic è necessario fare clic sul nodo Generale per vedere l'elemento File icona.

  4. Digitare CustomAction_SolutionExplorer.ico come nuovo nome dell'icona e scegliere Aggiungi.

    La nuova icona viene aperta in Editor immagini.

  5. Modificare la versione 16x16 del file icona in modo che la relativa progettazione sia facilmente riconoscibile, quindi salvarlo.

  6. In Esplora soluzioni scegliere CustomAction_SolutionExplorer.ico.

  7. Nella finestra Proprietà fare clic sull'elenco a discesa accanto a Operazione di compilazione, quindi selezionare Risorsa incorporata.

Verifica

In questa fase della procedura dettagliata, tutto il codice per l'elemento di progetto si trova nel progetto. Compilare il progetto assicurandosi che tale operazione venga eseguita correttamente.

Per compilare il progetto

  • Scegliere Compila soluzione dal menu Compila.

Creazione di un modello di elemento di Visual Studio

Per consentire agli altri sviluppatori di utilizzare l'elemento di progetto è necessario creare un modello di progetto o di elemento. Gli sviluppatori utilizzano questi modelli in Visual Studio per generare un'istanza dell'elemento di progetto creando un nuovo progetto o aggiungendo un elemento a un progetto esistente. Per questa procedura dettagliata, utilizzare il progetto ItemTemplate per configurare l'elemento di progetto.

Per creare il modello di elemento

  1. Eliminare il file di codice Class1 dal progetto ItemTemplate.

  2. Nel progetto ItemTemplate aprire il file ItemTemplate.vstemplate.

  3. Sostituire il contenuto del file con il codice XML seguente, quindi salvare e chiudere il file.

    Nota

    Il codice XML seguente è per un modello di elemento Visual C#. Se si crea un modello di elemento Visual Basic, sostituire il valore dell'elemento ProjectType con 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>
    

    Questo file consente di definire il contenuto e il comportamento del modello di elemento. Per ulteriori informazioni sul contenuto di questo file, vedere Riferimenti allo schema dei modelli di Visual Studio.

  4. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ItemTemplate, scegliere Aggiungi, quindi fare clic su Nuovo elemento.

  5. Nella finestra di dialogo Aggiungi nuovo elemento selezionare File di testo, digitare CustomAction.spdata nel campo Nome, quindi fare clic su Aggiungi.

  6. Aggiungere il codice XML seguente al file CustomAction.spdata, quindi salvare e chiudere il file.

    <?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>
    

    In questo file sono contenute informazioni sui file presenti nell'elemento di progetto. L'attributo Type dell'elemento ProjectItem deve essere impostato sulla stessa stringa passata all'oggetto SharePointProjectItemTypeAttribute nella definizione di elemento di progetto (la classe CustomActionProjectItemTypeProvider creata precedentemente in questa procedura dettagliata). Per ulteriori informazioni sul contenuto dei file con estensione spdata, vedere Riferimento allo schema degli elementi di progetto SharePoint.

  7. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ItemTemplate, scegliere Aggiungi, quindi fare clic su Nuovo elemento.

  8. Nella finestra di dialogo Aggiungi nuovo elemento selezionare File XML, digitare Elements.xml nel campo Nome, quindi fare clic su Aggiungi.

  9. Sostituire il contenuto del file Elements.xml con il codice XML seguente, quindi salvare e chiudere il 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>
    

    Questo file consente di definire un'azione personalizzata predefinita attraverso cui viene creata una voce nel menu Azioni sito del sito di SharePoint. Quando un utente fa clic sulla voce di menu, l'URL specificato nell'elemento UrlAction viene aperto nel browser. Per ulteriori informazioni sugli elementi XML che è possibile utilizzare per definire un'azione personalizzata, vedere le definizioni di azioni personalizzate (la pagina potrebbe essere in inglese).

  10. Facoltativamente, aprire il file ItemTemplate.ico e modificarlo in modo da poterlo riconoscere. Questa icona verrà visualizzata accanto all'elemento di progetto nella finestra di dialogo Aggiungi nuovo elemento.

  11. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ItemTemplate e scegliere Scarica progetto.

  12. Fare di nuovo clic con il pulsante destro del mouse sul progetto ItemTemplate e scegliere Modifica ItemTemplate.csproj o Modifica ItemTemplate.vbproj.

  13. Individuare l'elemento VSTemplate seguente nel file di progetto.

    <VSTemplate Include="ItemTemplate.vstemplate">
    
  14. Sostituire l'elemento VSTemplate con il codice XML seguente:

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

    L'elemento OutputSubPath specifica cartelle aggiuntive nel percorso in cui viene creato il modello di elemento quando si compila il progetto. Le cartelle specificate garantiscono che il modello di elemento sarà disponibile solo quando i clienti fanno clic sul nodo 2010 sotto il nodo SharePoint nella finestra di dialogo Aggiungi nuovo elemento.

  15. Salvare e chiudere il file.

  16. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ItemTemplate e scegliere Ricarica progetto.

Creazione di un pacchetto VSIX per distribuire l'elemento di progetto

Per distribuire l'estensione, utilizzare il progetto VSIX nella soluzione per creare un pacchetto VSIX. Anzitutto, configurare il pacchetto VSIX modificando il file source.extension.vsixmanifest incluso nel progetto VSIX. Quindi, creare il pacchetto VSIX compilando la soluzione.

Per configurare e creare il pacchetto VSIX

  1. In Esplora soluzioni fare doppio clic sul file source.extension.vsixmanifest nel progetto CustomActionProjectItem.

    Visual Studio consente di aprire il file nell'editor del manifesto. Il file source.extension.vsixmanifest è la base del file extension.vsixmanifest richiesto da tutti i pacchetti VSIX. Per ulteriori informazioni su questo file, vedere VSIX Extension Schema Reference.

  2. Nella casella Nome prodotto digitare Custom Action Project Item.

  3. Nella casella Autore digitare Contoso.

  4. Nella casella Descrizione digitare A SharePoint project item that represents a custom action.

  5. Nella sezione Contenuto dell'editor fare clic sul pulsante Aggiungi contenuto.

  6. Nella finestra di dialogo Aggiungi contenuto selezionare Modello di elemento nella casella di riepilogo Seleziona un tipo di contenuto.

    Nota

    Questo valore corrisponde all'elemento ItemTemplate del file extension.vsixmanifest. Questo elemento consente di identificare la sottocartella nel pacchetto VSIX che contiene il modello degli elementi del progetto. Per ulteriori informazioni, vedere ItemTemplate Element (VSX Schema).

  7. In Selezionare un'origine fare clic sul pulsante di opzione Progetto e selezionare ItemTemplate nella casella di riepilogo accanto.

  8. Fare clic su OK.

  9. Nell'editor del manifesto fare nuovamente clic sul pulsante Aggiungi contenuto.

  10. Nella finestra di dialogo Aggiungi contenuto selezionare Componente MEF nella casella di riepilogo Seleziona un tipo di contenuto.

    Nota

    Questo valore corrisponde all'elemento MefComponent del file extension.vsixmanifest. Questo elemento specifica il nome di un assembly dell'estensione nel pacchetto VSIX. Per ulteriori informazioni, vedere MEFComponent Element (VSX Schema).

  11. In Selezionare un'origine fare clic sul pulsante di opzione Progetto e selezionare ProjectItemDefinition nella casella di riepilogo accanto.

  12. Fare clic su OK.

  13. Scegliere Compila soluzione dal menu Compila. Assicurarsi che il progetto venga compilato correttamente.

  14. Aprire la cartella di output di compilazione per il progetto CustomActionProjectItem. Assicurarsi che in questa cartella adesso sia contenuto il file CustomActionProjectItem.vsix.

    Per impostazione predefinita, la cartella dell'output di compilazione è .. \bin\Debug sotto la cartella che contiene il progetto CustomActionProjectItem.

Test dell'elemento di progetto

È ora possibile testare l'elemento di progetto. Avviare innanzitutto il debug della soluzione CustomActionProjectItem nell'istanza sperimentale di Visual Studio. Testare quindi l'elemento di progetto Azione personalizzata in un progetto SharePoint nell'istanza sperimentale di Visual Studio. Infine, compilare ed eseguire il progetto SharePoint per verificare che l'azione personalizzata funzioni come previsto.

Per avviare il debug della soluzione

  1. Riavviare Visual Studio con i privilegi di amministratore e aprire la soluzione CustomActionProjectItem.

  2. Aprire il file di codice CustomAction e aggiungere un punto di interruzione alla prima riga di codice nel metodo InitializeType.

  3. Premere F5 per avviare il debug.

    In Visual Studio i file di estensione vengono installati in %UserProfile%\Dati applicazione\Locale\Microsoft\VisualStudio\10.0Exp\Extensions\Custom Action Project Item\1.0 e viene avviata un'istanza sperimentale di Visual Studio. L'elemento del progetto verrà testato in questa istanza di Visual Studio.

Per testare l'elemento di progetto in Visual Studio

  1. Nell'istanza sperimentale di Visual Studio scegliere Nuovo dal menu File, quindi fare clic su Progetto.

  2. Espandere Visual C# o Visual Basic (a seconda del linguaggio supportato dal modello di elemento), espandere SharePoint, quindi fare clic su 2010.

  3. Nell'elenco dei modelli di progetto fare clic su Progetto vuoto.

  4. Nella casella Nome digitare CustomActionTest.

  5. Scegliere OK.

  6. In Personalizzazione guidata SharePoint digitare l'URL del sito che si desidera utilizzare per il debug, quindi scegliere Fine.

  7. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto, scegliere Aggiungi, quindi fare clic su Nuovo elemento.

  8. Nel nodo SharePoint della finestra di dialogo Aggiungi nuovo elemento fare clic sul nodo 2010.

    Verificare che l'elemento Azione personalizzata sia visualizzato nell'elenco di elementi di progetto.

  9. Fare clic su Azione personalizzata, quindi su Aggiungi.

    Visual Studio consente di aggiungere un nuovo elemento denominato CustomAction1 al progetto e di aprire il file Elements.xml nell'editor.

  10. Verificare che il codice nell'altra istanza di Visual Studio venga interrotto in corrispondenza del punto di interruzione impostato precedentemente nel metodo InitializeType. Premere F5 per continuare il debug del progetto.

  11. Nell'istanza sperimentale di Visual Studio fare clic con il pulsante destro del mouse sul nodo CustomAction1 in Esplora soluzioni, quindi scegliere Visualizza finestra di progettazione azione personalizzata. Verificare che venga visualizzata una finestra di messaggio, quindi scegliere OK.

    Questo menu di scelta rapida può essere utilizzato per fornire opzioni o comandi aggiuntivi agli sviluppatori, ad esempio per visualizzare una finestra di progettazione per l'azione personalizzata.

  12. Scegliere Output dal menu Visualizza.

    Verrà aperta la finestra Output.

  13. In Esplora soluzioni fare clic con il pulsante destro del mouse sull'elemento CustomAction1 e modificare il nome in MyCustomAction.

    Nella finestra Output verrà visualizzato un messaggio di conferma scritto dal gestore eventi ProjectItemNameChanged definito nella classe CustomActionProjectItemTypeProvider. Questo e altri eventi dell'elemento di progetto possono essere gestiti per implementare il comportamento personalizzato quando lo sviluppatore modifica l'elemento di progetto.

Per testare l'azione personalizzata in SharePoint

  1. Nell'istanza sperimentale di Visual Studio aprire il file Elements.xml, figlio dell'elemento di progetto MyCustomAction.

  2. Nel file Elements.xml apportare le seguenti modifiche:

    • Nell'elemento CustomAction impostare l'attributo Id su un GUID o su un'altra stringa univoca. Ad esempio:

      Id="cd85f6a7-af2e-44ab-885a-0c795b52121a"
      
    • Nell'elemento CustomAction impostare l'attributo Title nel modo indicato di seguito:

      Title="SharePoint Developer Center"
      
    • Nell'elemento CustomAction impostare l'attributo Description nel modo indicato di seguito:

      Description="Opens the SharePoint Developer Center Web site."
      
    • Nell'elemento UrlAction impostare l'attributo Url nel modo indicato di seguito:

      Url="https://msdn.microsoft.com/sharepoint/default.aspx"
      
  3. Salvare il file Elements.xml.

  4. Premere F5. L'azione personalizzata viene assemblata e distribuita al sito di SharePoint specificato dalla proprietà URL sito del progetto. Nel browser viene visualizzata la pagina predefinita di questo sito.

    Nota

    Se viene visualizzata la finestra di dialogo Debug degli script disabilitato, fare clic su per continuare il debug del progetto.

  5. Fare clic sul menu Azioni sito. Verificare che l'azione personalizzata denominata Centro per sviluppatori SharePoint venga visualizzata nella parte inferiore di questo menu.

  6. Fare clic sulla voce di menu Centro per sviluppatori SharePoint. Verificare che nel browser venga aperto il sito Web https://msdn.microsoft.com/sharepoint/default.aspx.

  7. Chiudere il browser Web.

Pulizia del computer di sviluppo

Dopo aver completato il test dell'elemento di progetto, rimuovere il modello di elemento di progetto dall'istanza sperimentale di Visual Studio.

Per pulire il computer di sviluppo

  1. Scegliere Gestione estensioni dal menu Strumenti nell'istanza sperimentale di Visual Studio.

    Viene aperta la finestra di dialogo Gestione estensioni.

  2. Nell'elenco di estensioni fare clic su Custom Action Project Item, quindi su Disinstalla.

  3. Nella finestra di dialogo visualizzata fare clic su per confermare che si desidera disinstallare l'estensione.

  4. Fare clic su Riavvia per completare la disinstallazione.

  5. Chiudere entrambe le istanze di Visual Studio, ovvero quella sperimentale e l'istanza in cui è aperta la soluzione CustomActionProjectItem.

Passaggi successivi

Dopo avere completato questa procedura dettagliata, è possibile aggiungere una procedura guidata al modello di elemento. Quando un utente aggiunge un elemento di progetto Azione personalizzata a un progetto SharePoint, tramite la procedura guidata vengono raccolte informazioni sull'azione personalizzata (ad esempio il percorso e l'URL a cui passare quando si fa clic) e queste informazioni vengono aggiunte al file Elements.xml nel nuovo elemento di progetto. Per ulteriori informazioni, vedere Procedura dettagliata: creazione di un Custom Action Project Item con un modello di elemento, parte 2.

Vedere anche

Attività

Creazione di una nuova bitmap o di un'altra immagine

Riferimenti

Riferimenti allo schema dei modelli di Visual Studio

Editor immagini

Concetti

Utilizzo del servizio di progetto SharePoint

Altre risorse

Procedura dettagliata: creazione di un Custom Action Project Item con un modello di elemento, parte 2

Definizione di tipi di elementi di progetto SharePoint

Creazione di modelli di elemento e di modelli di progetto per gli elementi di progetto SharePoint