“Punto di ingresso non trovato” l'errore quando si utilizza il Testo Templating motore in VS 2008 SDK
-
22-08-2019 - |
Domanda
Sto usando la classe Microsoft.VisualStudio.TextTemplating.Engine
dal SDK VS 2008 insieme con gli oggetti dal namespace Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates
per automatizzare il processo di creazione di classi C # da modelli T4.
Ecco il mio codice. Essa prese direttamente dal esempio a Blog di 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);
}
}
}
Il problema
ho un System.EntryPointNotFoundException
nel punto in cui il modello viene elaborato e il file di codice di uscita deve essere restituito ...
string output = engine.ProcessTemplate(template, host);
Questa eccezione suggerisce che ho una versione del componente mancata corrispondenza da qualche parte, e googling ha rivelato che questo problema è stato sperimentato da altri, ma con le versioni molto più vecchi dei componenti sto usando. Le mie versioni sono ...
Visual Studio SP1 9.0.30729.1
Microsoft.VisualStudio.TextTemplating 9.0.0.0
Microsoft.Practices.RecipeFramework.VisualStudio.Library 1.4.0.0
Ho le ultime versioni di GAX, GAT e l'SDK VS2008 (tutto scaricato e installato oggi).
Qualcuno ha idea di cosa sta succedendo, o come potrei approfondire?
Ho molta voglia di evitare di dover iniziare a utilizzare un tracciante di seguire lo stack di chiamate, se possibile: (
Soluzione
Trovato la risposta ...
Sono stato refernecing la versione sbagliata del gruppo Microsoft.VisualStudio.TextTemplating
.
Ho avuto due versione installata sulla mia macchina ...
- 8.1.0.0
- 9.0.0.0
La particolare versione di Microsoft.Practices.RecipeFramework.VisualStudio.Library
che stavo usando richiesto la prima delle due versioni.