Procedura: registrare e gestire estensioni di funzionalità

È possibile aggiungere tipi e database di destinazione personalizzati per il refactoring, regole per l'analisi codice del database, condizioni per gli unit test del database e generatori di dati per aumentare le funzionalità offerte da Visual Studio Premium o Visual Studio Ultimate. Tuttavia, prima di poter utilizzare un'estensione di funzionalità è necessario registrarla, indipendentemente dal fatto che sia stata creata personalmente o che si sia installata un'estensione creata da altri. Per ulteriori informazioni, vedere Estensione delle funzionalità di database di Visual Studio.

È consigliabile creare una cartella per le estensioni all'interno della cartella Programmi\Microsoft Visual Studio 10.0\VSTSDB\Extensions. In questo modo è possibile concedere autorizzazioni di scrittura alla sottocartella ma non alla cartella Extensions. Gli utenti possono quindi aggiungere estensioni personalizzate senza modificare accidentalmente i file appartenenti a Visual Studio.

Nota di avvisoAttenzione

Per creare una sottocartella nella cartella Programmi\Microsoft Visual Studio 10.0\VSTSDB\ è necessario disporre di autorizzazioni di amministratore nel computer in uso. Se non si dispone delle autorizzazioni appropriate, contattare l'amministratore di rete.

Considerazioni sulla sicurezza

Prima di installare un'estensione creata da altri, sarebbe bene considerare i rischi seguenti:

  • Il programma di installazione dell'estensione potrebbe essere dannoso e ottenere l'accesso a risorse protette in base alle autorizzazioni di installazione.

  • L'estensione stessa potrebbe essere dannosa e ottenere il controllo di risorse protette nel caso in cui l'utente che utilizza l'estensione disponga di autorizzazioni sufficienti.

Per ridurre al minimo il rischio, sarebbe bene installare un'estensione soltanto se proveniente da una fonte nota. Se si riceve un'estensione da una fonte ritenuta non attendibile, è consigliabile esaminare il codice sorgente dell'estensione e il relativo programma di installazione, se disponibile, prima di installarla e utilizzarla.

Per installare un'estensione di funzionalità personalizzata

  • Copiare l'assembly firmato (con estensione dll) nella cartella Programmi\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions.

    CustomExtensions è il nome della cartella creata dall'utente o dall'amministratore del computer per contenere assembly e file XML per le estensioni di funzionalità.

    Nota

    Si consiglia di non copiare gli assembly e i file XML direttamente nella cartella Programmi\Microsoft Visual Studio 10.0\VSTSDB\Extensions. Se si utilizza una sottocartella, si eviterà che vengano apportate modifiche accidentali ai file forniti con Visual Studio.

    Si dovrà quindi registrare l'estensione in modo tale che venga visualizzata in Visual Studio.

Per registrare un'estensione di funzionalità

  1. Scegliere Altre finestre dal menu Visualizza, quindi Finestra di comando.

  2. Nella finestra Comando digitare il codice seguente e sostituire il percorso e il nome file dell'assembly per FilePath. Racchiudere il percorso e il nome file tra virgolette.

    Nota

    Se è stata creata un'estensione, il percorso predefinito del file con estensione dll compilato è PercorsoSoluzione\bin\Debug o PercorsoSoluzione\bin\Release.

    ? System.Reflection.Assembly.LoadFrom("FilePath").FullName
    
    ? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
    
  3. Premere Invio.

  4. Copiare negli Appunti la riga risultante, che dovrebbe essere simile alla seguente:

    "GeneratorAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    
  5. Aprire un editor di testo, ad esempio Blocco note.

  6. Fornire le seguenti informazioni specificando il nome dell'assembly personale, il token di chiave pubblica e il tipo di estensione:

    <?xml version="1.0" encoding="utf-8" ?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
      <extension type="<enter extension type here>" assembly="<enter assembly name here>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
    </extensions>
    

    Il tipo di estensione è espresso in formato "spazionomi.nomeclasse". Il nome dell'assembly non contiene l'estensione dll.

    SuggerimentoSuggerimento

    Se l'assembly dispone di più classi, il file può contenere un elenco di tipi di estensione.

  7. Salvare il file con l'estensione Extensions.xml.

    Ad esempio, è possibile denominare il file NomeCondizioneTest.Extensions.xml.

  8. Aggiungere questo file alla cartella Programmi\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions.

    CustomExtensions è il nome della cartella creata dall'utente o dall'amministratore del computer per contenere gli assembly e i file XML per le estensioni di funzionalità.

    Nota

    Si consiglia di non copiare gli assembly e i file XML direttamente nella cartella Programmi\Microsoft Visual Studio 10.0\VSTSDB\Extensions. Se si utilizza una sottocartella, si eviterà che vengano apportate modifiche accidentali ai file forniti con Visual Studio.

  9. Chiudere e riaprire Visual Studio.

    L'estensione è ora disponibile.

Esempio

Nell'esempio seguente viene illustrato il file XML necessario per registrare la regola di analisi del codice del database personalizzata creata in Procedura dettagliata: creazione di un assembly di regole dell'analisi codice statica personalizzate per SQL. È necessario sostituire il nome dell'assembly e la chiave pubblica personali. Il nome dell'assembly nell'esempio seguente è "SampleRules".

<?xml version="1.0" encoding="utf-8"?>
<extensions assembly=""
            version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
  <extension type="SampleRules.AvoidWaitForDelayRule" assembly="SampleRules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
</extensions>

Vedere anche

Concetti

Definire condizioni personalizzate per gli unit test del database

Generare dati di test specializzati con un generatore di dati personalizzato

Creare tipi o destinazioni di refactoring del database personalizzati

Creare e registrare regole aggiuntive per l'analisi del codice del database