我正在使用Microsoft.VisualStudio.TextTemplating.Engine
VS 2008 SDK 中的类以及Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates
命名空间中的对象来自动化从 T4 模板创建 C# 类的过程。
这是我的代码。它直接取自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);
}
}
}
问题
我System.EntryPointNotFoundException
在处理模板并且应该返回输出代码文件的地方得到一个...
string output = engine.ProcessTemplate(template, host);
此异常表明我在某处存在组件版本不匹配,谷歌搜索显示其他人也遇到过此问题,但我正在使用的组件版本要旧得多。我的版本是...
Visual Studio SP1 9.0.30729.1
Microsoft.VisualStudio.TextTemplating 9.0.0.0
Microsoft.Practices.RecipeFramework.VisualStudio.Library 1.4.0.0
我有最新版本的 GAX、GAT 和 VS2008 SDK(今天全部下载并安装)。
有谁知道发生了什么,或者我可以如何进一步调查?
如果可能的话,我真的想避免必须开始使用跟踪器来跟踪调用堆栈:(