Condividi tramite


Cenni preliminari sul modello di programmazione delle estensioni degli strumenti di SharePoint

Quando si crea un'estensione degli strumenti di SharePoint in Visual Studio 2010, si inizia implementando una o più interfacce di extensibility che sono esposte dagli strumenti di SharePoint. Nella maggior parte dei casi, si utilizzeranno anche altri tipi forniti dagli strumenti di SharePoint per implementare le funzionalità nell'estensione. In alcuni scenari è inoltre possibile utilizzare i tipi in altri modelli a oggetti forniti da Visual Studio e SharePoint. Per creare estensioni per gli strumenti di SharePoint, è necessario capire lo scopo di ogni modello a oggetti e sapere come utilizzarlo in combinazione con gli altri.

Estensione degli strumenti di SharePoint mediante l'implementazione delle interfacce di Extensibility

Visual Studio utilizza Managed Extensibility Framework (MEF) in .NET Framework 4 per fornire il modello di extensibility per gli strumenti di SharePoint. Il framework MEF è un'api (implementata nell'assembly System.ComponentModel.Composition) che consente alle applicazioni di esporre i punti di extensibility e individuare e caricare le estensioni in fase di esecuzione. Per ulteriori informazioni su MEF, vedere Cenni preliminari su Managed Extensibility Framework.

Per estendere gli strumenti di SharePoint, implementare una o più interfacce di Extensibility esposte da Visual Studio. È inoltre necessario applicare a seconda delle esigenze degli attributi aggiuntivi specifici degli strumenti di SharePoint e l'attributo System.ComponentModel.Composition.ExportAttribute, all'implementazione dell'interfaccia. Nella tabella seguente sono elencate le interfacce che è possibile implementare per estendere gli strumenti di SharePoint.

Interfaccia

Descrizione

ISharePointProjectItemTypeProvider

Implementare questa interfaccia per definire un nuovo tipo di elemento di progetto SharePoint. Per un esempio, vedere Procedura: definire un tipo di elemento di progetto SharePoint.

ISharePointProjectItemTypeExtension

Implementare questa interfaccia per estendere un tipo di elemento di progetto SharePoint già installato in Visual Studio. Per un esempio, vedere Procedura: creare un'estensione di elemento del progetto SharePoint.

ISharePointProjectExtension

Implementare questa interfaccia per estendere i progetti SharePoint. Per un esempio, vedere Procedura: creare un'estensione di progetto SharePoint.

IDeploymentStep

Implementare questa interfaccia per definire una nuova fase di distribuzione che possa essere eseguita quando un elemento di progetto SharePoint viene distribuito o ritratto. Per un esempio, vedere Procedura dettagliata: creazione di un passaggio di distribuzione personalizzato per progetti SharePoint.

IExplorerNodeTypeExtension

Implementare questa interfaccia per estendere un nodo esistente nel nodo Connessioni di SharePoint nella finestra Esplora server. Per un esempio, vedere Procedura: estendere un nodo SharePoint in Esplora server.

IExplorerNodeTypeProvider

Implementare questa interfaccia per definire un nuovo tipo di nodo nel nodo Connessioni di SharePoint nella finestra Esplora server. Per un esempio, vedere Procedura: estendere un nodo SharePoint in Esplora server.

IFeatureValidationRule

Implementare questa interfaccia per definire una regola di convalida per una funzionalità personalizzata. Per un esempio, vedere Procedura: creare regole personalizzate per la convalida di funzionalità e pacchetti per le soluzioni SharePoint.

IPackageValidationRule

Implementare questa interfaccia per definire una regola di convalida per un pacchetto personalizzato. Per un esempio, vedere Procedura: creare regole personalizzate per la convalida di funzionalità e pacchetti per le soluzioni SharePoint.

Dopo che si implementa un'estensione degli strumenti di SharePoint, è necessario distribuire l'assembly dell'estensione in un pacchetto Visual Studio Extension (VSIX) per consentire a Visual Studio di individuare e caricare l'estensione. Per ulteriori informazioni, vedere Distribuzione di estensioni per gli strumenti di SharePoint in Visual Studio.

Informazioni sui modelli a oggetti utilizzati nelle estensioni degli strumenti di SharePoint

Esistono numerosi modelli a oggetti che è possibile utilizzare quando si creano estensioni per gli strumenti di SharePoint:

  • Modello a oggetti degli strumenti di SharePoint. Questo modello a oggetti fornisce le interfacce di Extensibility implementate per creare le estensioni degli strumenti di SharePoint e altri tipi correlati.

  • Modelli a oggetti di automazione e di integrazione di Visual Studio. Utilizzare questi modelli a oggetti per accedere alle funzionalità di Visual Studio che non rientrano nell'ambito del modello a oggetti degli strumenti di SharePoint.

    Nota

    Tramite il servizio di progetto SharePoint è possibile convertire alcuni oggetti del modello a oggetti degli strumenti di SharePoint in oggetti dei modelli a oggetti di automazione e integrazione di Visual Studio e viceversa. Per ulteriori informazioni, vedere Conversione tra tipi di sistemi di progetto SharePoint e altri tipi di progetto Visual Studio.

  • Modelli a oggetti del server e del client di SharePoint. Utilizzare questi modelli a oggetti per modificare un sito di SharePoint o recuperare dati da un sito di SharePoint dal contesto di un'estensione degli strumenti di SharePoint.

Modello a oggetti degli strumenti di SharePoint

Ciascuna estensione degli strumenti di SharePoint utilizza tipi del modello a oggetti degli strumenti di SharePoint per definire il comportamento e le funzionalità principali dell'estensione. Nella tabella riportata di seguito sono descritti gli spazi dei nomi inclusi in questo modello a oggetti.

Assembly

Spazio dei nomi

Descrizione

Microsoft.VisualStudio.SharePoint.dll

Microsoft.VisualStudio.SharePoint

Sono inclusi i tipi utilizzati per estendere e automatizzare il sistema del progetto SharePoint. Ad esempio è possibile estendere i progetti SharePoint incorporati e i relativi elementi oppure creare elementi del progetto personalizzati. Per ulteriori informazioni, vedere Estensione del sistema di progetto SharePoint.

Microsoft.VisualStudio.SharePoint.Deployment

Contiene i tipi utilizzati per estendere il processo di distribuzione per i progetti SharePoint, ad esempio creare i propri passaggi di distribuzione e configurazioni di distribuzione. Per ulteriori informazioni, vedere Estensione della creazione di pacchetti e della distribuzione di SharePoint.

Microsoft.VisualStudio.SharePoint.Explorer

Contiene i tipi utilizzati per estendere i nodi nel nodo Connessioni di SharePoint nella finestra Esplora server o per definire nuovi tipi di nodi. Per ulteriori informazioni, vedere Estensione del nodo Connessioni di SharePoint in Esplora server.

Microsoft.VisualStudio.SharePoint.Features

Contiene i tipi utilizzati per accedere alle definizioni delle funzionalità in un progetto SharePoint.

Microsoft.VisualStudio.SharePoint.Packages

Contiene i tipi utilizzati per accedere alla definizione del pacchetto in una soluzione SharePoint.

Microsoft.VisualStudio.SharePoint.Validation

Contiene i tipi utilizzati per personalizzare il comportamento della convalida della funzionalità e del pacchetto per i progetti SharePoint. Per ulteriori informazioni, vedere Procedura: creare regole personalizzate per la convalida di funzionalità e pacchetti per le soluzioni SharePoint.

Microsoft.VisualStudio.SharePoint.Commands.dll

Microsoft.VisualStudio.SharePoint.Commands

Contiene i tipi che è possibile utilizzare per creare comandi di SharePoint personalizzati. Un comando di SharePoint è un metodo che consente di effettuare una chiamata nel modello a oggetti del server SharePoint da un'estensione degli strumenti di SharePoint. Per ulteriori informazioni, vedere Chiamate ai modelli a oggetti di SharePoint.

Microsoft.VisualStudio.SharePoint.Explorer.Extensions.dll

Microsoft.VisualStudio.SharePoint.Explorer.Extensions

Contiene i tipi che è possibile utilizzare per ottenere informazioni su nodi incorporati di Esplora server che rappresentano singoli componenti in un sito di SharePoint, ad esempio un nodo che rappresenta un elenco, un campo o un tipo di contenuto. Per ulteriori informazioni, vedere Estensione del nodo Connessioni di SharePoint in Esplora server.

Modello a oggetti di automazione di Visual Studio

Nel modello a oggetti di automazione di Visual Studio sono disponibili API che è possibile utilizzare per automatizzare i progetti di Visual Studio e l'IDE. Utilizzare il modello a oggetti di Visual Studio per effettuare attività correlate al progetto che non sono specifiche dei progetti SharePoint o per eseguire altre attività di automazione generali in Visual Studio. In genere, questo modello a oggetti viene utilizzato nei componenti aggiuntivi e nelle macro di Visual Studio, tuttavia può essere utilizzato anche nelle estensioni degli strumenti di SharePoint.

La parte principale del modello a oggetti di automazione di Visual Studio è definita nell'assembly EnvDTE.dll. La funzionalità aggiuntiva introdotta in Visual Studio 2005, Visual Studio 2008 e Visual Studio 2010 è garantita dagli assembly EnvDTE80.dll, EnvDTE90.dll e EnvDTE100.dll che sono inclusi in Visual Studio 2010.

Per ulteriori informazioni sul modello a oggetti di automazione, vedere Estensione dell'ambiente Visual Studio e Riferimenti su Extensibility e automazione.

Modello a oggetti di integrazione di Visual Studio

Nel modello a oggetti di integrazione sono disponibili le API che è possibile utilizzare per aggiungere funzionalità a Visual Studio creando un pacchetto VS. Un pacchetto VS è un modulo che consente di estendere l'IDE di Visual Studio fornendo funzionalità personalizzate, ad esempio finestre degli strumenti, editor, finestre di progettazione, servizi e progetti.

Il modello a oggetti di integrazione può essere utilizzato per aggiungere una nuova funzionalità di Visual Studio che sarà utilizzata con gli strumenti incorporati di SharePoint. Ad esempio se si crea un elemento del progetto SharePoint personalizzato che rappresenta un'azione personalizzata per un sito di SharePoint, è possibile anche creare un pacchetto VS che permette la distribuzione di una finestra di progettazione per l'azione personalizzata. È possibile associare la finestra di progettazione all'azione personalizzata aggiungendo una voce di menu di scelta rapida all'elemento del progetto che rappresenta l'azione personalizzata in Esplora soluzioni. Gli sviluppatori possono fare clic con il pulsante destro del mouse sull'elemento del progetto dell'azione personalizzata per aprire la finestra di progettazione.

Questo modello a oggetti viene definito in un set di assembly incluso in Visual Studio SDK. Microsoft.VisualStudio.Shell.dll, Microsoft.VisualStudio.Shell.Interop.dll e Microsoft.VisualStudio.OLE.Interop.dll sono alcuni degli assembly principali di questo modello a oggetti.

Per ulteriori informazioni sul modello a oggetti di integrazione, vedere Visual Studio Development Environment Model e Visual Studio SDK Reference.

Modelli a oggetti di SharePoint

Le estensioni degli strumenti di SharePoint possono utilizzare le API di SharePoint per modificare un sito di SharePoint o recuperare dati da un sito di SharePoint. In Microsoft SharePoint Foundation 2010 e Microsoft SharePoint Server 2010 vengono forniti due modelli a oggetti diversi: un modello a oggetti del server e uno del client.

Le API possono essere utilizzate in uno qualsiasi dei modelli a oggetti di un'estensione degli strumenti di SharePoint, tuttavia ogni modello a oggetti presenta alcuni vantaggi e svantaggi relativamente alle estensioni degli strumenti di SharePoint. Per ulteriori informazioni, vedere Chiamate ai modelli a oggetti di SharePoint.

Modello a oggetti

Descrizione

Modello a oggetti del server

Il modello a oggetti del server consente di accedere a tutte le funzionalità esposte a livello di codice da Microsoft SharePoint Foundation 2010 e Microsoft SharePoint Server 2010. Questo modello a oggetti è progettato per essere utilizzato dalle soluzioni SharePoint in esecuzione nel server SharePoint. La maggior parte di questo modello a oggetti è definita nell'assembly Microsoft.SharePoint.dll. Per ulteriori informazioni sul modello a oggetti del server, vedere l'articolo relativo all'utilizzo del modello a oggetti lato server di SharePoint Foundation (la pagina potrebbe essere in inglese).

Modello a oggetti del client

Il modello a oggetti del client è un sottoinsieme del modello a oggetti del server che può essere utilizzato per interagire con i dati SharePoint di un client o un server remoto. È progettato per ridurre il numero di round trip che devono essere eseguiti per effettuare attività comuni. La maggior parte del modello a oggetti del client è definita negli assembly Microsoft.SharePoint.Client.dll e Microsoft.SharePoint.Client.Runtime.dll. Per ulteriori informazioni sul modello a oggetti del client, vedere l'articolo relativo all'modello a oggetti del client gestito (la pagina potrebbe essere in inglese).

Vedere anche

Concetti

Chiamate ai modelli a oggetti di SharePoint

Visual Studio Development Environment Model

Utilizzo del servizio di progetto SharePoint

Altre risorse

Estensione degli strumenti di SharePoint in Visual Studio

Cronologia delle modifiche

Data

Cronologia

Motivo

Maggio 2010

Sono stati aggiunti nuovi dettagli sulle interfacce MEF esposte dal modello a oggetti degli strumenti di SharePoint.

Miglioramento delle informazioni.