Pergunta

Estou tentando depurar a execução de um modelo T4 no Visual Studio 2008.

Todas as informações que estou encontrando sobre a depuração de modelos T4 no Visual Studio 2008 dizem que você pode definir um ponto de interrupção (ponto vermelho) no modelo como se fosse um arquivo de código regular. Eu tenho o Highlighter de código Clarius T4 instalado, então meu modelo T4 é colorido, mas Não consigo definir um ponto de interrupção. Quando clico na margem, nada acontece.

Eu tentei o debugger.break () e ele inicia uma nova instância do vs.net, mas não pode carregar o código do meu modelo. Recebo uma caixa de diálogo que diz "Não há código -fonte disponível para o local atual". Isso acontece se eu tiver o mesmo projeto carregado em outra instância de se eu formar uma nova instância.

O que da?

Foi útil?

Solução 3

Ok- descobri. O lançamento de uma nova instância não é uma opção, independentemente do que Artigo de Oleg diz. (Sem diss para o Sr. Sych, seu blog é evangelho para geração de código T4!)

  1. Inicie uma segunda instância do Visual Studio,
  2. Abra um arquivo (qualquer arquivo) para que o menu Debug seja exibido.
  3. Selecione "Anexe ao processo ..." e selecione a outra instância vs.NET
  4. Salve seu modelo na instância anexada do vs.net (ou clique com o botão direito do mouse e selecione Executar ferramenta personalizada)

Pronto.

Outras dicas

Defina o seguinte:

<#@ template debug="true" hostSpecific="true" #>
<#@ import namespace="System.Diagnostics" #>

Então no seu modelo

Debugger.Launch();

VS começará o depurador JIT em uma nova instância do VS 2010

No Visual Studio 2013:

  1. Defina um ponto de interrupção no arquivo .tt
  2. Clique com o botão direito do mouse no arquivo .tt no explorador de soluções
  3. Selecione "Modelo T4 Debug T4"
  4. Feito!

Não é necessário anexar uma segunda instância do Visual Studio.

Certifique -se de ativar a opção de depuração na diretiva de modelo:

<#@ modelo linguagem = "c#" debug = "true"#>

Isso faz com que o T4 salve o código -fonte e os arquivos de símbolo necessários para a depuração no Visual Studio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top