“Ponto de entrada não encontrado” erro ao usar o texto Templating Motor no SDK do VS 2008

StackOverflow https://stackoverflow.com/questions/690585

  •  22-08-2019
  •  | 
  •  

Pergunta

Eu estou usando a classe Microsoft.VisualStudio.TextTemplating.Engine do SDK VS 2008, juntamente com os objetos do namespace Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates para automatizar o processo de criação de classes C # a partir de modelos T4.

Aqui meu código. É levado diretamente a partir do exemplo no Blog Oleg do Sych ...

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates;
using Microsoft.VisualStudio.TextTemplating; 

namespace PropertyDirectivePot
{
  class Program
  {
    static void Main(string[] args)
    {
      // Prepare template parameters
      var arguments = new Dictionary<string, PropertyData>();
      arguments.Add(“MyProperty”,
        new PropertyData(Color.AntiqueWhite, typeof(Color))); 

      // Initialize GAX template host
      string currentDirectory = Directory.GetCurrentDirectory();
      TemplateHost host = new TemplateHost(currentDirectory, arguments);
      host.TemplateFile = Path.Combine(currentDirectory, “PropertyTest.tt”); 

      // Transform template
      string template = File.ReadAllText(host.TemplateFile);
      ITextTemplatingEngine engine = new Engine();
      string output = engine.ProcessTemplate(template, host); 

      // Save output
      string outputFile = Path.ChangeExtension(host.TemplateFile, “.txt”);
      File.WriteAllText(outputFile, output);
    }
  }
}

O Problema

Eu recebo um System.EntryPointNotFoundException no ponto onde o modelo é processado e o arquivo de código de saída deve ser devolvido ...

string output = engine.ProcessTemplate(template, host);

Esta excepção sugere que tenho um lugar incompatibilidade de versão do componente, e pesquisando revelou que este problema tem sido experimentado por outros, mas com versões muito mais antigas dos componentes que estou usando. Meus versões são ...

Visual Studio SP1 9.0.30729.1
Microsoft.VisualStudio.TextTemplating 9.0.0.0
Microsoft.Practices.RecipeFramework.VisualStudio.Library 1.4.0.0

Eu tenho as últimas versões de GAX, GAT e do VS2008 SDK (todo baixado e instalado hoje).

Alguém tem alguma idéia do que está acontecendo, ou como eu poderia investigar mais?

Eu realmente quero evitar ter que começar a usar um rastreador para seguir a pilha de chamadas, se possível: (

Foi útil?

Solução

Encontrou a resposta ...

Eu estava refernecing a versão errada do Microsoft.VisualStudio.TextTemplating montagem.

Eu tinha duas versões instalado na minha máquina ...

  • 8.1.0.0
  • 9.0.0.0

A versão particular de Microsoft.Practices.RecipeFramework.VisualStudio.Library que eu estava usando exigiu a primeira das duas versões.

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