Condividi tramite


Esporre tipi per le finestre di progettazione visiva

Visual Studio necessario disporre di classe e definizioni del tipo in fase di progettazione per visualizzare una finestra di progettazione visiva. Le classi sono caricati da un insieme predefinito di assembly che includono la dipendenza completa impostata del progetto corrente (riferimenti e le relative dipendenze). Può essere necessario che le finestre di progettazione visive di accedere alle classi e i tipi definiti nei file generati da strumenti personalizzati.

Visual Basic i sistemi di progetto csprcs forniscono il supporto per accedere alle classi e i tipi generati dai file eseguibili portabili temporanei (i file PE temporanei). Il file generato da uno strumento personalizzato può essere compilato in un assembly temporaneo in modo da poter essere caricato dagli assembly e esporre tipi per le finestre di progettazione. L'output di ogni strumento personalizzato viene compilato in un file PE temporaneo separato e l'esito positivo o negativo di questa compilazione temporanea dipende esclusivamente su se il file generato può essere compilato. Anche se un progetto non può compilare complessivamente, la singola i file PE temporanei può ancora essere disponibili per le finestre di progettazione.

Il sistema del progetto fornisce un supporto completo per tenere traccia delle modifiche al file di output di uno strumento personalizzato, a condizione che queste modifiche sono il risultato dell'esecuzione dello strumento personalizzato. Ogni volta che lo strumento personalizzato viene eseguito, un nuovo file PE temporaneo viene generato e le notifiche appropriate vengono inviate alle finestre di progettazione.

Nota

Poiché il file eseguibile della generazione di programma temporaneo si verifica in background alcun errore, viene segnalato all'utente se la compilazione ha esito negativo.

Gli strumenti personalizzati che utilizzano il supporto del file PE temporaneo devono rispettare le seguenti regole:

  • GeneratesDesignTimeSource deve essere impostato su 1 nel Registro di sistema.

    Nessuna compilazione del file eseguibile del programma ha luogo senza questa impostazione.

  • Il codice generato deve essere lo stesso linguaggio del progetto globale.

    Il file PE temporaneo viene compilato indipendentemente dallo strumento personalizzato riferimento come l'estensione richiesta in DefaultExtension a condizione che GeneratesDesignTimeSource è impostato su 1 nel Registro di sistema. L'estensione non deve essere incorporato, cs, o JSL; può essere qualsiasi estensione.

  • The code generated by the custom tool must be valid, and it must compile on its own using only the set of references present in the project at the time Generate finishes executing.

    Quando un file PE temporaneo viene compilato, l'unico file di origine fornito il compilatore è l'output dello strumento personalizzato. Di conseguenza, uno strumento personalizzato che utilizza un file PE temporaneo deve generare file di output compilabili indipendentemente dagli altri file nel progetto.

Vedere anche

Concetti

Introduzione all'oggetto BuildManager

implementare i generatori di file singolo

Determinazione dello spazio dei nomi predefinito

registrare i generatori di file singolo