Importazione di elementi da un sito di SharePoint esistente

Il modello di progetto Importa pacchetto di soluzione SharePoint consente di riutilizzare elementi quali tipi di contenuto e campi di siti di SharePoint esistenti in una nuova soluzione SharePoint in Visual Studio.Sebbene sia possibile eseguire la maggior parte delle soluzioni importate senza modifiche, esistono alcune limitazioni e alcuni problemi di cui tener conto, specialmente se si modifica un qualsiasi elemento dopo averlo importato.

[!NOTA]

Per importare flussi di lavoro riutilizzabili, utilizzare il modello di progetto Importa flusso di lavoro riutilizzabile.Per ulteriori informazioni, vedere Linee guida per l'importazione di flussi di lavoro riutilizzabili.

Soluzioni di SharePoint supportate

Visual Studio 2012 supporta completamente l'importazione di soluzioni create in SharePoint Foundation 2010 e SharePoint Server 2010.

Visual Studio 2012 non supporta l'importazione di soluzioni create nelle applicazioni riportate di seguito.

  • Windows SharePoint Services 3.0

  • Microsoft Office SharePoint Server 2007

  • Visual Studio 2008

  • Microsoft SharePoint Designer 2007

  • Visual Studio 2010

Sebbene sia spesso possibile importare correttamente soluzioni create da queste applicazioni, tale funzionalità non è stata testata e non è supportata.

Limitazioni per l'importazione di elementi

Sebbene sia possibile importare la maggior parte degli elementi di SharePoint da un file con estensione wsp esistente, gli elementi riportati di seguito non sono supportati e possono richiedere modifiche per funzionare correttamente.

  • Entità di integrazione applicativa dei dati

  • Elementi di associazione del flusso di lavoro di codice

  • Flussi di lavoro di codice

  • Web part visive (con estensione ascx)

  • Servizi Web (con estensione asmx)

  • Associazioni al tipo di contenuto

  • Ricevitori di eventi

  • Definizioni di elenchi (modelli)

  • Definizioni di siti

Quando si esporta una soluzione da SharePoint Foundation 2010 o SharePoint Server 2010, questi elementi vengono esclusi automaticamente dal file .wsp.È tuttavia possibile che altri file .wsp generati da strumenti non supportati contengano questi elementi.(Vedere "Soluzioni di SharePoint supportate" riportato precedentemente in questo argomento).

Cosa si verifica quando si importa una soluzione

Quando si importa una soluzione utilizzando il modello Importa pacchetto di soluzione SharePoint, Visual Studio copia tutto il contenuto del file con estensione wsp e tenta di risolvere le differenze e mantenere tutte le associazioni e i riferimenti possibili tra gli elementi importati e i rispettivi file.

Tutti gli elementi importati vengono copiati nelle cartelle corrispondenti in Esplora soluzioni.Ad esempio, i tipi di contenuto vengono visualizzati nella cartella Tipi di contenuto e le istanze di elenco vengono visualizzate in Istanze di elenco.I file associati a un elemento importato vengono inoltre copiati nella cartella dell'elemento.Ad esempio, un'istanza di elenco importata include i relativi moduli, i form e le pagine ASPX.

Ee231584.collapse_all(it-it,VS.110).gifElementi dipendenti

Se nell'importazione guidata del pacchetto di soluzione SharePoint viene selezionato un elemento, ma non i relativi elementi dipendenti, viene visualizzata una finestra di messaggio in cui viene specificato che è necessario selezionare anche gli elementi dipendenti prima dell'importazione.

Ee231584.collapse_all(it-it,VS.110).gifCosa sono le funzionalità?

È possibile che gli utenti di SharePoint Designer vedano file inconsueti, denominati funzionalità, nelle soluzioni importate in Esplora soluzioni. Sebbene le funzionalità esistessero già nella soluzione di SharePoint Designer, non erano visibili.Le funzionalità sono ora visibili in Visual Studio.

Le funzionalità sono contenitori per gli elementi di SharePoint.Ciascuna funzionalità mantiene un riferimento a ogni elemento, ad esempio tipo di contenuto o definizione di elenco, in essa contenuto.Quando viene importata la soluzione, Visual Studio configura le funzionalità per tutti gli elementi importati e tenta di mantenere le relazioni funzionalità elemento per i file.Ciascun file per cui non è stato possibile risolvere i riferimenti viene inserito nella cartella Altri file importati.

Per ulteriori informazioni sulle funzionalità, vedere Sviluppo di soluzioni SharePoint e Utilizzo di funzionalità (la pagina potrebbe essere in inglese).

Ee231584.collapse_all(it-it,VS.110).gifGestione di casi speciali

In alcuni casi, Visual Studio non è in grado di risolvere le relazioni di un elemento con i file dipendenti.Qualsiasi file per cui Visual Studio non è stato in grado di risolvere le relazioni viene visualizzato nella cartella Altri file importati.Inoltre, le proprietà DeploymentType associate vengono impostate su NoDeployment in modo da evitarne la distribuzione con la soluzione.

Se ad esempio si importa la definizione di elenco ExpenseForms, una definizione di elenco con tale nome viene visualizzata nella cartella Definizioni di elenco in Esplora soluzioni insieme ai relativi file Elements.xml e Schema.xml.Tuttavia, è possibile che i form ASPX e HTML ad essa associati vengano inseriti in una cartella denominata ExpenseForms sotto la cartella Altri file importati.Per completare l'importazione, spostare questi file sotto la definizione di elenco di ExpenseForms in Esplora soluzioni e modificare l'impostazione della proprietà DeploymentType per ciascun file da NoDeployment a ElementFile.

In caso di importazione di ricevitori di eventi, il file Elements.xml viene copiato nel percorso corretto, ma è necessario includere manualmente l'assembly nel pacchetto della soluzione in modo che venga distribuito con la soluzione.Per ulteriori informazioni su come eseguire questa procedura, vedere Procedura: aggiungere e rimuovere assembly aggiuntivi.

In caso di importazione di flussi di lavoro, i form InfoPath vengono copiati nella cartella Altri file importati.Se il file con estensione wsp contiene un modello Web, viene impostato come pagina di avvio in Esplora soluzioni.

Importazione di campi e contenitori di proprietà

Quando si importa una soluzione che dispone di più campi, tutte le definizioni di campo separate vengono unite in un solo file Elements.xml sotto un nodo denominato Fields in Esplora soluzioni.Analogamente, tutte le voci del contenitore di proprietà vengono unite in un file Elements.xml sotto un nodo denominato PropertyBags.

I campi in SharePoint corrispondono a colonne di un tipo di dati specificato, quali testo, booleano o ricerca.Per ulteriori informazioni, vedere Blocco predefinito: colonne e tipi di campo (la pagina potrebbe essere in inglese).I contenitori di proprietà consentono di aggiungere proprietà agli oggetti in SharePoint, tutto da una farm a un elenco su un sito di SharePoint.I contenitori di proprietà vengono implementati come una tabella hash di nomi e valori di proprietà.Per ulteriori informazioni, vedere la pagina sulla Gestione della configurazione di SharePoint o sulle Impostazioni del contenitore di proprietà di SharePoint (le pagine potrebbero essere in inglese).

Eliminazione di elementi nel progetto

La maggior parte degli elementi nelle soluzioni di SharePoint dispongono di uno o più elementi dipendenti.Ad esempio, le istanze di elenco dipendono da tipi di contenuto e i tipi di contenuto dipendono dai campi.Dopo avere importato una soluzione di SharePoint, se si elimina un elemento dalla soluzione, ma non i relativi elementi dipendenti, Visual Studio non segnalerà alcun problema di riferimento finché non si tenterà di distribuire la soluzione.Ad esempio, se una soluzione importata dispone di un'istanza di elenco che dipende da un tipo di contenuto e si elimina tale tipo di contenuto, si potrebbe verificare un errore di distribuzione.L'errore si verifica quando l'elemento dipendente non è presente nel server SharePoint.Analogamente, se un elemento eliminato dispone anche di un contenitore di proprietà correlato, eliminare tali voci del contenitore di proprietà dal file PropertyBags Elements.xml. Pertanto, se si eliminano tutti gli elementi da una soluzione importata e vengono generati errori di distribuzione, verificare se gli elementi dipendenti devono essere.

Ripristino di attributi di funzionalità mancanti

Quando si importano soluzioni, alcuni attributi di funzionalità facoltativi vengono omessi dal manifesto della funzionalità importate.Se si desidera ripristinare questi attributi nel nuovo file della funzionalità, identificare gli attributi mancanti confrontando il file delle funzionalità originale con il nuovo manifesto delle funzionalità e seguire le istruzioni riportate nell'argomento Procedura: personalizzare una funzionalità SharePoint.

Il rilevamento di conflitti di distribuzione non viene eseguito su istanze di elenco incorporate

Visual Studio non esegue il rilevamento di conflitti di distribuzione sulle istanze di elenco incorporate (ovvero, istanze di elenco predefinite fornite con SharePoint).Il rilevamento dei conflitti non viene eseguito per evitare di sovrascrivere le istanze di elenco incorporate su SharePoint.Le istanze di elenco incorporate vengono distribuite o aggiornate, ma non vengono mai eliminate o sovrascritte. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi alla creazione di pacchetti e alla distribuzione di SharePoint.

Importazione di flussi di lavoro di SharePoint Server 2010

Se si importa un flusso di lavoro creato in SharePoint Server 2010, non verrà eseguito correttamente dopo averlo distribuito.Il flusso di lavoro non verrà eseguita correttamente perché alcuni assembly non e flussi di lavoro SharePoint Server 2010 contiene i form InfoPath che non sono attualmente supportati nelle soluzioni flusso di lavoro Visual Studio.Tuttavia, è possibile ottenere un funzionamento corretto dei flussi di lavoro di SharePoint Server 2010 importati dopo avere corretto alcuni elementi, come ad esempio aggiungendo riferimenti agli assembly di SharePoint Server 2010 e riconnettendo i form InfoPath.Per ulteriori informazioni, vedere Importazione di flussi di lavoro di SharePoint Server 2010 (la pagina potrebbe essere in inglese).

Limite dei caratteri dei nomi di elemento

In Visual Studio i nomi dei progetti e degli elementi di progetto hanno un limite di 260 caratteri in totale, compreso il percorso.Se un nome di elemento supera tale limite quando si importa una soluzione, viene generato l'errore:

Percorso e/o nome di file specificato troppo lungo.Il nome di file completo deve contenere meno di 260 caratteri, mentre il nome di directory deve contenere meno di 248 caratteri.

Quando si ottiene questo errore, l'elemento non viene creato.Questo problema si verifica più spesso nei moduli importati.Per evitare questo problema, effettuare le operazioni riportate di seguito.

  • Quando si immettono nomi di progetti nella finestra di dialogo Aggiungi nuovo progetto, utilizzare nomi brevi.

  • Creare il progetto in un percorso il più vicino possibile alla cartella radice, in modo da abbreviare il percorso.

Attributo SharePointProductVersion

Quando si importa una soluzione creata in una versione precedente di SharePoint come Windows SharePoint Services 3.0 o Microsoft Office SharePoint Server 2007, impostare il valore dell'attributo SharePointProductVersion su 12.0 nel manifesto del pacchetto o inserire un controllo gestore di script in tutte le pagine Web importate e lasciare l'attributo SharePointProductVersion impostato su 14.0.In caso contrario, i Web Form importati non verranno visualizzati in SharePoint.

Ee231584.collapse_all(it-it,VS.110).gifBackground

Le soluzioni in SharePoint Foundation 2010 e SharePoint Server 2010 includono un attributo denominato SharePointProductVersion.In SharePoint questo attributo viene utilizzato nei manifesti di pacchetto per determinare per quale versione di SharePoint è progettata la soluzione.I due valori validi sono 12.0 e 14.0.Un valore di 12.0 indica che l'elemento è progettato per Windows SharePoint Services 3.0 o Microsoft Office SharePoint Server 2007, mentre un valore di 14.0 indica che l'elemento è progettato per SharePoint Foundation 2010 o SharePoint Server 2010.

Per una maggiore sicurezza durante il rendering di pagine ASPX, in SharePoint Foundation 2010 e SharePoint Server 2010 è richiesto che tutte le master o ASPX contengano un controllo gestore di script.Per ulteriori informazioni sul gestore di script, vedere la pagina relativa ai cenni preliminari sul controllo ScriptManager.Poiché tale controllo non è disponibile in Windows SharePoint Services 3.0 e Microsoft Office SharePoint Server 2007, è necessario aggiungerne uno a una qualsiasi pagina di Windows SharePoint Services 3.0 o Microsoft Office SharePoint Server 2007 aggiornata a SharePoint Foundation 2010 o SharePoint Server 2010.Nelle pagine ASPX in cui viene utilizzata una pagina master standard non è necessario un controllo gestore di script poiché un controllo di questo tipo viene già aggiunto in tale pagina.Per le pagine ASPX che non utilizzano una pagina master o ne utilizzano una personalizzata, tuttavia, è necessario aggiungere un controllo script per consentirne l'utilizzo in SharePoint Foundation 2010 o SharePoint Server 2010.

L'assenza di un controllo gestore di script può costituire un problema quando si importa un progetto di Windows SharePoint Services 3.0 o Microsoft Office SharePoint Server 2007 in Visual Studio 2010, perché l'attributo SharePointProductVersion di tutti i nuovi progetti viene impostato su 14.0.Se si distribuisce un progetto aggiornato che dispone di un Web Form senza un gestore di script, non sarà possibile visualizzare il form in SharePoint.

Vedere anche

Attività

Procedura dettagliata: importare gli elementi da un sito di SharePoint esistente

Procedura dettagliata: importare un flusso di lavoro riutilizzabile di SharePoint Designer in Visual Studio

Procedura: aggiungere un file modello di integrazione applicativa dei dati esistente a un progetto SharePoint

Concetti

Linee guida per l'importazione di flussi di lavoro riutilizzabili