Condividi tramite


progetti di aggiornamento

Le modifiche al modello di progetto da una versione di Visual Studio al e può richiedono che i progetti e le soluzioni vengano aggiornati in modo da poterli eseguire la versione più recente. Visual Studio SDK fornisce interfacce che possono essere utilizzate per implementare il supporto di aggiornamento in per contenere i progetti.

strategie di aggiornamento

Per supportare un aggiornamento, l'implementazione del sistema del progetto deve definire e implementare una strategia di aggiornamento. Nella determinazione della strategia, è possibile scegliere per supportare il backup affiancato (SxS), il backup di copia, o entrambi.

  • Il backup di SxS significa che un progetto copia solo i file che devono aggiornare sul posto, aggiungere un suffisso appropriato di nome file, ad esempio, OLD.

  • Il backup della copia significa che un progetto copia tutti gli elementi di progetto all'forniti dal percorso di backup. I file rilevanti nella posizione originale del progetto vengono aggiornati.

come aggiornamento Works

Quando una soluzione creata in una versione precedente di Visual Studio viene aperta in una versione più recente, l'ide controlla il file di soluzione per determinare se deve essere aggiornato. Se l'aggiornamento è obbligatorio, aggiornamento guidato viene automaticamente avviato per accedere all'utente con il processo di aggiornamento.

Quando una soluzione necessario aggiornare, eseguendo una query su ogni factory di progetto per la strategia di aggiornamento. La strategia determina se i contenuti multimediali factory di progetto copiare il backup o il ripristino di SxS. Le informazioni vengono inviate a aggiornamento guidato, che raccolgono informazioni necessarie per il backup e sono elencate le opzioni applicabili all'utente.

soluzioni composte da più progetti

Se una soluzione contiene più progetti e le strategie di aggiornamento differenti, ad esempio quando un progetto c++ che supporta solo il backup di SxS e un progetto Web che solo il backup della copia di supporto, factory di progetto deve negoziare la strategia di aggiornamento.

La soluzione eseguendo una query su ogni factory di progetto per IVsProjectUpgradeViaFactory. Chiama quindi l'entity_M:Microsoft.VisualStudio.Shell.Interop.IVsProjectUpgradeViaFactory.UpgradeProject aggiornamento guidato quindi viene richiamato.

After the user completes the wizard, UpgradeProject is called on each project factory to perform the actual upgrade. Per facilitare il backup, i metodi di IVsProjectUpgradeViaFactory forniscono al servizio di SVsUpgradeLogger per registrare i dettagli del processo di aggiornamento. Questo servizio non può essere memorizzato nella cache.

Dopo avere aggiornato tutti i file globali relativi, ogni factory di progetto può scegliere di creare un'istanza di un progetto. L'implementazione del progetto deve supportare IVsProjectUpgrade. Il metodo di UpgradeProject viene quindi chiamato per aggiornare tutti gli elementi di progetto appropriate.

Nota

Il metodo di UpgradeProject non fornisce al servizio di SVsUpgradeLogger.questo servizio può essere ottenuto chiamando QueryService.

Suggerimenti

Utilizzare il servizio di SVsQueryEditQuerySave per controllare se è possibile modificare un file prima di modificarlo e consente salvarlo prima di salvarlo. Ciò consentirà il backup e migliorare le implementazioni gestire i file di progetto al controllo del codice sorgente, file con autorizzazioni insufficienti, e così via.

Utilizzare il servizio di SVsUpgradeLogger durante le fasi di backup e migliorare per fornire informazioni sull'esito positivo o negativo del processo di aggiornamento.

Per ulteriori informazioni sul backup e su come migliorare i progetti, vedere i commenti per IVsProjectUpgrade in vsshell2.idl.

Vedere anche

Attività

Procedura: Aggiornare i sistemi di progetto

Procedura: Aggiornare gli elementi di progetto

Altre risorse

progetti (Visual Studio SDK)