“Punto de entrada no encontrado” de error cuando se utiliza el motor de plantillas de texto en el VS 2008 SDK

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

  •  22-08-2019
  •  | 
  •  

Pregunta

Estoy utilizando la clase Microsoft.VisualStudio.TextTemplating.Engine desde el SDK VS 2008 junto con los objetos del espacio de nombres Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates para automatizar el proceso de creación de clases de C # a partir de plantillas T4.

Aquí mi código. Se llevaron directamente a partir del ejemplo de Blog de Oleg 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);
    }
  }
}

El problema

consigo un System.EntryPointNotFoundException en el punto donde la plantilla se procesa y el archivo de código de salida debe ser devuelto ...

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

Esta excepción sugiere que tengo un conflicto de versiones componente en alguna parte, y googlear ha puesto de manifiesto que este problema se ha experimentado por sí, pero con versiones mucho más antiguas de los componentes que estoy usando. Mis versiones son ...

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

Tengo las últimas versiones de GAX, GAT y el SDK VS2008 (todo descargado e instalado en la actualidad).

¿Alguien tiene alguna idea de lo que está pasando, o cómo podría investigar más a fondo?

Realmente quiero evitar tener que empezar a utilizar un trazador para seguir la pila de llamadas, si es posible: (

¿Fue útil?

Solución

Se han encontrado la respuesta ...

Me refernecing la versión incorrecta del montaje Microsoft.VisualStudio.TextTemplating.

Me había instalado dos versiones en mi máquina ...

  • 8.1.0.0
  • 9.0.0.0

La versión particular de Microsoft.Practices.RecipeFramework.VisualStudio.Library que estaba usando requería la anterior de las dos versiones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top