Compartilhar via


Modelos com várias implementações IWizard

Nas versões de Visual Studio antes de Visual Studio 2008, modelos de suporte para um único IWizard implementação. Visual Studio 2008apresenta um novo recurso, conhecido sistema autônomo "encadeamento", que permite que um único modelo ter vários separado IWizard implementações. Essas implementações são chamadas sequencialmente, que permite que você crie modelos que têm mais rica e mais flexível funcionalidade.

Detalhes de implementação

Um assistente VsTemplate Microsoft-implementado é chamado para processar um modelo lendo o arquivo .vstemplate. Um VsTemplate pode listar um ou mais conjuntos de módulos (assemblies) que têm uma implementação IWizard que será chamada para participar do processamento do modelo.Para aproveitar o encadeamento, todos os assistentes devem ser listados no arquivo .xml do modelo na ordem em que eles devem ser chamados.

Um objeto Dictionary pode funcionar como uma lista de parâmetros de substituição, ativando um modelo para passar parâmetros para uma implementação IWizard e também ativar uma implementação IWizard para passar parâmetros para outro.Uma referência para o dicionário que é passado para RunStarted pode ser salva pelo IWizard. Quaisquer alterações feitas pelo IWizard em notificações de retornos de chamada são persistentes.

Parâmetros de substituição (como $MyVariable) são globais em escopo e podem ser acessados de qualquer IWizard.Certifique-se de nomear exclusivamente quaisquer variáveis de substituição que você não deseja que outros IWizards usem ou alterem acidentalmente.Recomendamos que você documente os parâmetros de substituição para seus assistentes, para que outros usuários saibam para que eles são usados.

IWizard Contém uma propriedade booleana chamada ShouldAddItem.Essa propriedade notifica um Assistente se ele deve adicionar os arquivos indicados.Se ShouldAddItem estiver definida como false,em seguida, nenhum dos assistentes que siga o assistente atual carregará o item.

Consulte também

Tarefas

Como: Parâmetros de substituição em um modelo

Como: Usar assistentes com modelos de projeto