Novidades na geração de código e modelos de texto
Visual Studiomodelos de texto permitem que você gerar o código e recursos para seu aplicativo e também qualquer tipo de documento ou arquivo de texto em tempo de execução.
O que há de novo no Service Pack 1 (SP1)
Você pode obter os recursos a seguir ao instalar o SP1 para Visual Studio 2010.
Assemblies de depuração.
Se o seu modelo de texto carrega um assembly que você está depurando, você pode reconstruir o assembly sem dificuldade.Nas versões do Visual Studio antes do SP1, é muitas vezes difíceis reconstruir um assembly que foram carregado recentemente por um modelo, porque o modelo bloqueia o assembly. Do SP1, o modelo carrega uma cópia do assembly, para que o assembly original não está bloqueado. Se você recriar o conjunto, na próxima ocasião quando o modelo é executado, ele será recarregar uma nova cópia do assembly. Para obter mais informações, consulte T4 Diretiva de Assembly.
Herança entre modelos de texto
Você pode definir um modelo de texto que contém uma estrutura de blocos de texto que é comum a diversas variantes. Os modelos de variant podem herdar de modelo comuns. Para obter mais informações e exemplos, consulte T4 Diretriz de modelo e Geração de texto de tempo de execução usando os modelos de texto T4
Recursos novos e aprimorados noVisual Studio 2010
Característica |
Tópico |
---|---|
Modelos de texto pré-processado: Fornece um método conveniente de geração de arquivos de texto em tempo de execução em qualquer aplicativo. |
Geração de texto de tempo de execução usando os modelos de texto T4 |
Integração de compilação: Certifica-se de que seus arquivos de programa gerados são mantidos atualizados com seus arquivos de origem ou de um modelo. Este recurso está disponível quando você instala o Ferramentas de linguagem específica do domínio. |
|
Tarefas de transformação de texto para MsBuild: Permitem que você transforme arquivos específicos em um projeto ao criar o projeto Visual Studio a linha de comando. Se você tiver scripts que chamam o TextTransform.exe, você pode achar este método mais flexível. |
|
Suporte para Modelbus de Visual Studio: Fornece um método padrão para acessar vários modelos a partir de um modelo de texto. |
Microsoft.VisualStudio.TextTemplating.Modeling.ModelBusEnabledTextTransformation |
Separação de DSLs e modelos: Não é necessário um idioma específico do domínio para usar os modelos de texto, embora os dois recursos foram originalmente introduzidos ao mesmo tempo. Modelos de texto e a geração de arquivo são uma parte interna da Visual Studio. |
|
Acesso ao provedor de serviços: Disponível em uma propriedade de ModelingTextTransform. |
|
Acesso ao ambiente: As diretivas de modelo de texto, você pode usar Visual Studio macros, como $(ProjectDir) ou variáveis de ambiente do Windows, como % ProgramFiles %. |
Alterações de personalização
Os seguintes aperfeiçoamentos foram feitos que podem afetá-lo se você personalizou o processo de modelagem de texto.
Característica |
Tópico |
---|---|
Alterações de namespace e assembly: Alguns tipos de tem movido para o assembly Microsoft.VisualStudio.TextTemplating.Interfaces. |
Demonstra Passo a passo: Criando um processador de diretiva personalizada Demonstra Passo a passo: A criação de um Host de modelo de texto personalizado |
Dicionário de sessão: Um dicionário de serializado é passado para o domínio do aplicativo onde um modelo de texto é executado. Ele fornece uma maneira padrão para um host de modelagem de texto passar dados para o código do modelo de texto. |
Demonstra Passo a passo: A criação de um Host de modelo de texto personalizado |
Outras alterações desde Visual Studio de 2008
Assemblies referenciados nos modelos de texto
Referências do projeto atual não são mais usadas para localizar assemblies.
Em uma diretiva de assembly, informe o local do assembly necessário explicitamente.
Você pode usar Visual Studio macros, como $(ProjectDir) ou variáveis de ambiente do Windows, como % ProgramFiles % como parte do local do assembly.
Assemblies de transformação de texto
Os assemblies que talvez você precise fazer uma referência para usar todos os modelos de texto têm o sufixo "10.0":
Microsoft.VisualStudio.TextTemplating.10.0.dll
Microsoft.VisualStudio.TextTemplating.interfaces.10.0.dll
Microsoft.VisualStudio.TextTemplating.Vshost.10.0.dll
Microsoft.VisualStudio.TextTemplating.Modeling.10.0.dll
Namespaces
Não há nenhum namespace "Microsoft.VisualStudio.TextTemplating.Interfaces". Esta é uma alteração da versão Beta2 do Visual Studio 2010.
Iniciando o depurador
Para iniciar o depurador de um modelo de texto, inserir essa chamada no ponto onde você deseja iniciar a depuração através de execução:
System.Diagnostics.Debugger.Launch();
Para retornar para o depurador em pontos de interrupção subseqüentes, ligue para:
System.Diagnostics.Debugger.Break();
Versão de idioma padrão
A versão mais recente (4) do compilador sempre será usada para compilar modelos de texto. Em Visual Studio 2008, o compilador padrão é 2.0, mas você pode especificar uma versão mais recente da linguagem de programação do modelo - por exemplo <#@ template language="VBv3.5" #>. Em Visual Studio 2010, o número da versão será ignorado e um aviso é relatado. Se você tiver um modelo que você deseja usar em ambas as versões do Visual Studio, você pode ignorar o aviso.