Distribuzione di estensioni per gli strumenti di SharePoint in Visual Studio
Per distribuire un'estensione degli strumenti di SharePoint, creare un pacchetto Visual Studio Extension (VSIX) contenente l'assembly di estensioni e qualsiasi altro file che si desidera distribuire con l'estensione. Un pacchetto VSIX è un file compresso conforme allo standard Open Packaging Conventions (OPC). I pacchetti VSIX sono indicati con l'estensione vsix.
Una volta creato un pacchetto VSIX, altri utenti potranno eseguire il file vsix per installare l'estensione. Quando un utente installa l'estensione, tutti i file vengono installati nella cartella %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0\Extensions. Per distribuire l'estensione, è possibile caricare il pacchetto VSIX nel sito Web Visual Studio Gallery (la pagina potrebbe essere in inglese) o distribuire il pacchetto ai clienti tramite altri mezzi, ad esempio ospitando il pacchetto in una condivisione di rete o in un altro sito Web.
Per ulteriori informazioni sulla creazione di pacchetti VSIX e sulla relativa distribuzione in Visual Studio Gallery (la pagina potrebbe essere in inglese), vedere VSIX Deployment.
È possibile creare un pacchetto VSIX tramite il modello Progetto VSIX in Visual Studio oppure manualmente.
Utilizzo di progetti VSIX per creare pacchetti VSIX
È possibile utilizzare il modello Progetto VSIX disponibile in Visual Studio 2010 SDK per creare pacchetti VSIX per le estensioni degli strumenti di SharePoint. L'utilizzo di un progetto VSIX offre diversi vantaggi rispetto alla creazione manuale di un pacchetto VSIX:
In Visual Studio il pacchetto VSIX viene generato automaticamente quando si compila il progetto. Attività quali l'aggiunta dei file di distribuzione al pacchetto e la creazione del file [Content_Types].xml per il pacchetto vengono effettuate automaticamente.
È possibile configurare il progetto VSIX in modo da includere nel pacchetto VSIX l'output di compilazione del progetto di estensione e altri file, ad esempio modelli di progetto e modelli di elemento.
Per ulteriori informazioni sull'utilizzo di un progetto VSIX, vedere VSIX Project Template.
Organizzazione dei progetti
Per impostazione predefinita, i progetti VSIX generano solo pacchetti VSIX, non assembly. Di conseguenza, generalmente non si implementano estensioni degli strumenti di SharePoint in un progetto VSIX. Di solito si utilizzano almeno due progetti:
Un progetto VSIX.
Un progetto libreria di classi che implementa l'estensione.
È inoltre possibile utilizzare ulteriori progetti per determinati tipi di estensioni:
Un progetto libreria di classi che implementa tutti i comandi di SharePoint utilizzati dall'estensione. Per una procedura dettagliata dove viene illustrato questo scenario, vedere Procedura dettagliata: estensione di Esplora server per visualizzare web part.
Un progetto che crea un modello di elemento o un modello di progetto se l'estensione definisce un nuovo tipo di elemento di SharePoint. Per una procedura dettagliata dove viene illustrato questo scenario, vedere Procedura dettagliata: creazione di un Custom Action Project Item con un modello di elemento, parte 1.
Un progetto libreria di classi che implementa una procedura guidata personalizzata per un modello di elemento o un modello di progetto se l'estensione include un modello. Per una procedura dettagliata dove viene illustrato questo scenario, vedere Procedura dettagliata: creazione di un Custom Action Project Item con un modello di elemento, parte 2.
Se si includono tutti i progetti nella stessa soluzione di Visual Studio, è possibile modificare il file source.extension.vsixmanifest nel progetto VSIX in modo da includere l'output di compilazione dei progetti Libreria di classi.
Modifica del manifesto VSIX
È necessario modificare il file source.extension.vsixmanifest nel progetto VSIX per includere voci per tutti gli elementi che si desidera includere nell'estensione. Quando si modifica il file source.extension.vsixmanifest, Visual Studio apre il file in una finestra di progettazione che fornisce un'interfaccia utente per la modifica dell'XML nel file. Per ulteriori informazioni, vedere VSIX Manifest Designer.
È necessario aggiungere voci al file source.extension.vsixmanifest per gli elementi seguenti:
Assembly dell'estensione.
L'assembly che implementa tutti i comandi di SharePoint utilizzati dall'estensione.
Qualsiasi modello di progetto o modello di elemento associato all'estensione.
Una procedura guidata personalizzata per un modello associato all'estensione.
Le procedure seguenti descrivono come aggiungere voci al file vsixmanifest per ciascuno di questi elementi.
Per includere l'assembly di estensioni
Nel progetto VSIX fare doppio clic sul file source.extension.vsixmanifest per aprirlo nella finestra di progettazione.
Nella sezione Contenuto dell'editor fare clic sul pulsante Aggiungi contenuto.
Nella finestra di dialogo Aggiungi contenuto selezionare Componente MEF nella casella di riepilogo Seleziona un tipo di contenuto.
In Selezionare un'origine effettuare uno dei passaggi seguenti:
Se l'assembly di estensioni è compilato da un progetto incluso nella stessa soluzione del progetto VSIX, fare clic sul pulsante di opzione Progetto e selezionare il nome del progetto nella casella di riepilogo accanto.
Se l'assembly di estensioni è incluso come file nel progetto, fare clic sul pulsante di opzione File nel progetto e selezionare l'assembly nella casella di riepilogo accanto.
Se l'assembly di estensioni si trova in un altro percorso, fare clic sul pulsante di opzione File, quindi utilizzare la finestra di dialogo Scegli file per individuare e selezionare l'assembly.
Scegliere OK.
Per includere un assembly di comandi di SharePoint
Nel progetto VSIX fare doppio clic sul file source.extension.vsixmanifest per aprirlo nella finestra di progettazione.
Nella sezione Contenuto dell'editor fare clic sul pulsante Aggiungi contenuto.
Nella finestra di dialogo Aggiungi contenuto selezionare Tipo di estensione personalizzata nella casella di riepilogo Seleziona un tipo di contenuto.
Nella casella di testo Tipo digitare SharePoint.Commands.v4. Questo valore è obbligatorio per tutti gli assembly che contengono comandi di SharePoint.
In Selezionare un'origine effettuare uno dei passaggi seguenti:
Se l'assembly di comandi è compilato da un progetto incluso nella stessa soluzione del progetto VSIX, fare clic sul pulsante di opzione Progetto e selezionare il nome del progetto di comandi nella casella di riepilogo accanto.
Se l'assembly di comandi è incluso come file nel progetto, fare clic sul pulsante di opzione File nel progetto e selezionare l'assembly nella casella di riepilogo accanto.
Se l'assembly di comandi si trova in un altro percorso, fare clic sul pulsante di opzione File, quindi utilizzare la finestra di dialogo Scegli file per individuare e selezionare l'assembly.
Fare clic su OK.
Per includere un modello creato utilizzando un progetto modello di progetto o modello di elemento da Visual Studio SDK
Nel progetto VSIX fare doppio clic sul file source.extension.vsixmanifest per aprirlo nella finestra di progettazione.
Nella sezione Contenuto dell'editor fare clic sul pulsante Aggiungi contenuto.
Nella finestra di dialogo Aggiungi contenuto selezionare Modello di progetto o Modello di elemento nella casella di riepilogo Seleziona un tipo di contenuto.
In Selezionare un'origine fare clic sul pulsante di opzione Progetto e selezionare il nome del progetto nella casella di riepilogo accanto.
Fare clic su OK.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto modello di progetto o modello di elemento e scegliere Scarica progetto.
Fare di nuovo clic con il pulsante destro del mouse sul nodo del progetto e scegliere Modifica NomeProgettoModello**.csproj** o Modifica NomeProgettoModello**.vbproj**.
Individuare l'elemento VSTemplate seguente nel file di progetto.
<VSTemplate Include="YourTemplateName.vstemplate">
Sostituire l'elemento VSTemplate con il codice XML seguente:
<VSTemplate Include="YourTemplateName.vstemplate"> <OutputSubPath>SharePoint\SharePoint14</OutputSubPath> </VSTemplate>
L'elemento OutputSubPath specifica cartelle aggiuntive nel percorso in cui viene creato il modello di progetto 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 progetto.
Salvare e chiudere il file.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto modello di progetto o modello di elemento e scegliere Ricarica progetto.
Per includere un modello creato manualmente
Nel progetto VSIX aggiungere una nuova cartella al progetto che contiene il modello.
Sotto questa nuova cartella creare le sottocartelle seguenti, quindi aggiungere il file modello (zip) alla cartella ID impostazioni locali.
CartellaModelliPersonalizzati
SharePoint
SharePoint14
ID impostazioni locali
YourTemplateName.zip
Ad esempio, se si dispone di un modello di elemento denominato ContosoCustomAction.zip che supporta le impostazioni locali Inglese (Stati Uniti), il percorso completo potrebbe essere ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip.
In Esplora soluzioni fare clic sul file modello (YourTemplateName.zip).
Nella finestra Proprietà impostare la proprietà Operazione di compilazione su Contenuto.
Fare doppio clic sul file source.extension.vsixmanifest per aprirlo nella finestra di progettazione.
Nella sezione Contenuto dell'editor fare clic sul pulsante Aggiungi contenuto.
Nella finestra di dialogo Aggiungi contenuto selezionare Modello di elemento o Modello di progetto nella casella di riepilogo Seleziona un tipo di contenuto.
In Selezionare un'origine, fare clic sul pulsante di opzione File nel progetto, quindi selezionare il percorso completo del modello nella casella di riepilogo accanto. Ad esempio, ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip.
Fare clic su OK.
Per includere una procedura guidata per un modello di progetto o un modello di elemento
Nel progetto VSIX fare doppio clic sul file source.extension.vsixmanifest per aprirlo nella finestra di progettazione.
Nella sezione Contenuto dell'editor fare clic sul pulsante Aggiungi contenuto.
Nella finestra di dialogo Aggiungi contenuto selezionare Creazione guidata modelli nella casella di riepilogo Seleziona un tipo di contenuto.
In Selezionare un'origine effettuare uno dei passaggi seguenti:
Se l'assembly della procedura guidata è compilato da un progetto incluso nella stessa soluzione del progetto VSIX, fare clic sul pulsante di opzione Progetto e selezionare il nome del progetto nella casella di riepilogo accanto.
Se l'assembly della procedura guidata è incluso come file nel progetto, fare clic sul pulsante di opzione File nel progetto e selezionare l'assembly nella casella di riepilogo accanto.
Se l'assembly della procedura guidata si trova in un altro percorso, fare clic sul pulsante di opzione File, quindi utilizzare la finestra di dialogo Scegli file per individuare e selezionare l'assembly.
Fare clic su OK.
Procedure dettagliate correlate
Nella tabella riportata di seguito sono elencate le procedure dettagliate che illustrano come utilizzare un progetto VSIX per distribuire tipi diversi di estensioni degli strumenti di SharePoint.
Tipo di estensione |
Procedure dettagliate correlate |
---|---|
Un'estensione che comprende soltanto l'assembly dell'estensione |
Procedura dettagliata: estensione di un tipo di elemento di progetto SharePoint Procedura dettagliata: creazione di un'estensione di progetto SharePoint |
Un'estensione che comprende i comandi di SharePoint |
Procedura dettagliata: estensione di Esplora server per visualizzare web part |
Un'estensione che comprende un modello di Visual Studio |
|
Un'estensione che comprende una creazione guidata modelli |
Creazione manuale di pacchetti VSIX
Se si desidera creare manualmente il pacchetto VSIX per l'estensione degli strumenti di SharePoint, effettuare i passaggi seguenti:
Creare il file extension.vsixmanifest, il file [Content_Types].xml e il file del pacchetto VSIX (file con estensione vsix). Per ulteriori informazioni, vedere Anatomy of a VSIX Package e How to: Manually Package an Extension (VSIX Deployment).
Aggiungere l'assembly di estensioni al pacchetto VSIX. Se l'estensione include un comando di SharePoint, aggiungere al pacchetto VSIX anche l'assembly che implementa il comando di SharePoint.
Modificare il file extension.vsixmanifest:
Aggiungere un elemento MefComponent all'elemento Content. Impostare il valore dell'elemento sul percorso relativo dell'assembly che implementa l'estensione nel pacchetto VSIX. Per ulteriori informazioni, vedere MEFComponent Element (VSX Schema).
Se l'estensione include un comando di SharePoint che esegue una chiamata nel modello a oggetti del server SharePoint, aggiungere un nuovo elemento CustomExtension all'elemento Content. Impostare il valore dell'elemento sul percorso relativo dell'assembly che implementa il comando di SharePoint nel pacchetto VSIX e impostare l'attributo Type sul valore SharePoint.Commands.v4. Per ulteriori informazioni, vedere CustomExtension Element (VSX Schema).
Se l'estensione include un modello di progetto o un modello di elemento, aggiungere un nuovo elemento ProjectTemplate o ItemTemplate sotto l'elemento Content. Impostare il valore dell'elemento sul percorso relativo della cartella che contiene il modello nel pacchetto VSIX. Per ulteriori informazioni, vedere ProjectTemplate Element (VSX Schema) e ItemTemplate Element (VSX Schema).
Se l'estensione include una procedura guidata personalizzata per un modello di progetto o un modello di elemento, aggiungere un nuovo elemento Assembly sotto l'elemento Content. Impostare il valore dell'elemento sul percorso relativo dell'assembly nel pacchetto di VSIX e l'attributo AssemblyName l'sul nome completo dell'assembly (includendo versione, impostazioni cultura e token di chiave pubblica). Per ulteriori informazioni, vedere Assembly Element (VSX Schema).
Esempio
Il seguente esempio mostra il contenuto di un file extension.vsixmanifest per un'estensione degli strumenti di SharePoint. L'estensione è implementata in un assembly denominato Contoso.ProjectExtension.dll. L'estensione include un assembly di comandi di SharePoint denominato Contoso.ExtensionCommands.dll e un modello di elemento in una cartella denominata ItemTemplates nel pacchetto VSIX. In questo esempio si presuppone che entrambi gli assembly siano nella stessa cartella del file extension.vsixmanifest nel pacchetto VSIX.
<?xml version="1.0" encoding="utf-8"?>
<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Version="1.0.0" xmlns="https://schemas.microsoft.com/developer/vsx-schema/2010">
<Identifier Id="CustomActionProjectItem.Contoso.b1d75407-01bd-459d-9d04-d12e9113af49">
<Name>Custom Action Project Item</Name>
<Author>Contoso</Author>
<Version>1.0</Version>
<Description xml:space="preserve">A SharePoint project item that represents a custom action.</Description>
<Locale>1033</Locale>
<SupportedProducts>
<VisualStudio Version="10.0">
<Edition>Pro</Edition>
</VisualStudio>
</SupportedProducts>
<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.0" />
</Identifier>
<References />
<Content>
<MefComponent>Contoso.ProjectExtension.dll</MefComponent>
<CustomExtension Type="SharePoint.Commands.v4">Contoso.ExtensionCommands.dll</CustomExtension>
<ItemTemplate>ItemTemplates</ItemTemplate>
</Content>
</Vsix>
Vedere anche
Concetti
Estensione del sistema di progetto SharePoint
Chiamate ai modelli a oggetti di SharePoint
Altre risorse
Estensione del nodo Connessioni di SharePoint in Esplora server
Debug delle estensioni per gli strumenti di SharePoint in Visual Studio