Debug delle estensioni per gli strumenti di SharePoint in Visual Studio
È possibile eseguire il debug delle estensioni per gli strumenti di SharePoint nell'istanza sperimentale o nell'istanza regolare di Visual Studio. Se è necessario risolvere problemi relativi al comportamento di un'estensione, è anche possibile modificare i valori del Registro di sistema per visualizzare ulteriori informazioni sull'errore e per configurare la modalità di esecuzione dei comandi di SharePoint in Visual Studio.
Debug delle estensioni nell'istanza sperimentale di Visual Studio
Per proteggere l'ambiente di sviluppo di Visual Studio da danni fortuiti causati da estensioni non testate, Visual Studio SDK offre un'istanza di Visual Studio alternativa, denominata istanza sperimentale, che è possibile utilizzare per installare e testare le estensioni. Per sviluppare nuove estensioni viene utilizzata l'istanza regolare di Visual Studio, mentre per il debug e l'esecuzione viene utilizzata l'istanza sperimentale. Per ulteriori informazioni, vedere Experimental Instance of Visual Studio.
Se si utilizza un progetto VSIX per distribuire l'estensione e tale progetto è il progetto di avvio nella soluzione, l'estensione viene installata ed eseguita automaticamente nell'istanza sperimentale di Visual Studio quando si esegue il debug della soluzione. Il progetto di avvio è il progetto che viene avviato quando si esegue il debug di una soluzione contenente più progetti. Per ulteriori informazioni sull'utilizzo di un progetto VSIX per la distribuzione dell'estensione, vedere Distribuzione di estensioni per gli strumenti di SharePoint in Visual Studio. Per ulteriori informazioni sui progetti di avvio, vedere How to: Choose the Startup Project.
Per esempi che illustrano come eseguire il debug di vari tipi di estensioni nell'istanza sperimentale di Visual Studio, vedere le procedure dettagliate seguenti:
Procedura dettagliata: estensione di un tipo di elemento di progetto SharePoint
Procedura dettagliata: estensione di Esplora server per visualizzare web part
Debug delle estensioni nell'istanza regolare di Visual Studio
Se si desidera eseguire il debug del progetto di estensione nell'istanza regolare di Visual Studio, installare innanzitutto l'estensione nell'istanza regolare. Associare quindi il debugger a un secondo processo di Visual Studio. Al termine, è possibile rimuovere l'estensione in modo che non venga più caricata nel computer di sviluppo.
Per installare l'estensione
Chiudere tutte le istanze di Visual Studio.
Nella cartella dell'output di compilazione per il progetto di estensione fare doppio clic sul file vsix.
Nella finestra di dialogo Visual Studio Extension Installer selezionare la versione di Visual Studio in cui si desidera installare l'estensione, quindi fare clic su Installa.
I file di estensione vengono installati nel percorso %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\nome autore\nome estensione\versione. Le ultime tre cartelle di questo percorso vengono costruite mediante gli elementi Author, Name e Version del file extension.vsixmanifest dell'estensione.
Al termine dell'installazione dell'estensione mediante Visual Studio, fare clic su Chiudi.
Per eseguire il debug dell'estensione
Avviare Visual Studio con i privilegi di amministratore e aprire il progetto di estensione. Nei passaggi riportati di seguito verrà fatto riferimento a questa istanza di Visual Studio come prima istanza.
Avviare un'altra istanza di Visual Studio con i privilegi di amministratore. Nei passaggi riportati di seguito verrà fatto riferimento a questa istanza di Visual Studio come seconda istanza.
Passare alla prima istanza di Visual Studio.
Scegliere Connetti a processo dal menu Debug.
Nell'elenco Processi disponibili fare clic su devenv.exe. Questa voce si riferisce alla seconda istanza di Visual Studio, ovvero l'istanza in cui eseguire il debug dell'estensione di progetto.
Scegliere Connetti.
Il progetto di estensione viene eseguito nella modalità di debug di Visual Studio.
Passare alla seconda istanza di Visual Studio.
Creare un nuovo progetto SharePoint che carichi l'estensione. Se, ad esempio, si esegue il debug di un'estensione per gli elementi del progetto di definizione di elenco, creare un progetto Definizione di elenco.
Eseguire tutti i passaggi necessari per testare il codice di estensione.
Al termine del debug dell'estensione, chiudere la seconda istanza di Visual Studio.
Per rimuovere l'estensione
Scegliere Gestione estensioni dal menu Strumenti di Visual Studio.
Viene aperta la finestra di dialogo Gestione estensioni.
Nell'elenco di estensioni fare clic sul nome dell'estensione, quindi su Disinstalla.
Nella finestra di dialogo visualizzata fare clic su Sì per confermare che si desidera disinstallare l'estensione.
Fare clic su Riavvia per completare la disinstallazione.
Debug di comandi di SharePoint
Se si desidera eseguire il debug di un comando di SharePoint che fa parte di un'estensione degli strumenti di SharePoint, è necessario connettere il debugger al processo vssphost4.exe. Tale processo è il processo host a 64 bit che esegue i comandi di SharePoint. Per ulteriori informazioni sui comandi di SharePoint e su vssphost4.exe, vedere Chiamate ai modelli a oggetti di SharePoint.
Per connettere il debugger al processo vssphost4.exe
Avviare il debug dell'estensione nell'istanza sperimentale o nell'istanza normale di Visual Studio seguendo le istruzioni riportate in precedenza.
Nell'istanza di Visual Studio in cui è in esecuzione il debugger scegliere Connetti a processo dal menu Debug.
Nell'elenco Processi disponibili fare clic su vssphost.exe.
Nota
Se vssphost.exe non è visualizzato nell'elenco, è necessario avviare il processo vssphost4.exe nell'istanza di Visual Studio in cui è in esecuzione l'estensione. In genere, a tale scopo è possibile eseguire un'azione che comporta la connessione di Visual Studio al sito di SharePoint nel computer di sviluppo. Tramite Visual Studio viene ad esempio avviato vssphost4.exe quando si espande un nodo relativo alla connessione al sito (un nodo in cui è visualizzato l'URL del sito) sotto il nodo Connessioni di SharePoint nella finestra Esplora server o quando si aggiungono determinati elementi di progetto SharePoint, ad esempio elementi Istanza di elenco o Ricevitore di eventi, a un progetto SharePoint.
Scegliere Connetti.
Nell'istanza di Visual Studio di cui viene eseguito il debug eseguire i passaggi necessari per l'esecuzione del comando.
Modifica dei valori del Registro di sistema per agevolare il debug delle estensioni degli strumenti di SharePoint
Quando si esegue il debug di un'estensione degli strumenti di SharePoint in Visual Studio, è possibile modificare i valori nel Registro di sistema per risolvere i problemi relativi all'estensione. I valori si trovano nella chiave HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10 .0\SharePointTools. Questi valori non sono presenti per impostazione predefinita.
Per risolvere i problemi relativi a qualsiasi estensione degli strumenti di SharePoint, è possibile impostare il valore EnableDiagnostics. Questo valore è descritto nella tabella seguente.
Valore |
Descrizione |
---|---|
EnableDiagnostics |
REG_DWORD che specifica se i messaggi di diagnostica vengono visualizzati nella finestra Output. Per visualizzare i messaggi di diagnostica, impostare questo valore su 1. Per interrompere la visualizzazione di messaggi, impostare questo valore su 0 o eliminarlo. Per scrivere i messaggi nella finestra Output da un'estensione degli strumenti di SharePoint, utilizzare il servizio del progetto SharePoint. Per ulteriori informazioni, vedere Utilizzo del servizio di progetto SharePoint. |
Se l'estensione include un comando di SharePoint, è possibile impostare valori aggiuntivi per risolvere i problemi relativi al comando. Questi valori sono descritti nella tabella seguente.
Valore |
Descrizione |
---|---|
AttachDebuggerToHostProcess |
REG_DWORD che specifica se visualizzare una finestra di dialogo che consente di connettere il debugger a vssphost4.exe subito dopo l'avvio. Questa operazione è utile se il comando di cui si desidera eseguire il debug viene eseguito da vssphost.exe immediatamente dopo l'avvio e non vi è tempo sufficiente per connettere manualmente il debugger prima dell'esecuzione del comando. Per visualizzare la finestra di dialogo, vssphost4.exe chiama il metodo Debugger.Break all'avvio. Per abilitare questo comportamento, impostare questo valore su 1. Per disattivare questo comportamento, impostare questo valore su 0 o eliminarlo. Se si imposta questo valore su 1, potrebbe anche essere necessario aumentare il valore di HostProcessStartupTimeout in modo da consentire un tempo sufficiente per connettere il debugger prima che Visual Studio attenda il segnale di esecuzione corretta dell'avvio da parte di vssphost4.exe. |
ChannelOperationTimeout |
REG_DWORD che specifica il tempo di attesa, in secondi, dell'esecuzione di un comando di SharePoint. Se il comando non viene eseguito in tempo, viene generata un'eccezione SharePointConnectionException. Il valore predefinito è 120 secondi. |
HostProcessStartupTimeout |
REG_DWORD che specifica il tempo di attesa, in secondi, della segnalazione di avvio riuscito di vssphost4.exe. Se tale segnalazione non viene visualizzata in tempo, viene generata un'eccezione SharePointConnectionException. Il valore predefinito è 60 secondi. |
MaxReceivedMessageSize |
REG_DWORD che specifica la dimensione massima consentita, in byte, per i messaggi WCF passati tra Visual Studio e vssphost4.exe. Il valore predefinito è 1.048.576 byte (1 MB). |
MaxStringContentLength |
REG_DWORD che specifica la dimensione massima consentita, in byte, per le stringhe passate tra Visual Studio e vssphost4.exe. Il valore predefinito è 1.048.576 byte (1 MB). |
Vedere anche
Altre risorse
Estensione degli strumenti di SharePoint in Visual Studio
Distribuzione di estensioni per gli strumenti di SharePoint in Visual Studio