VS 2008 SDK에서 텍스트 템플릿 엔진을 사용할 때 "진입 점을 찾을 수 없음"오류
-
22-08-2019 - |
문제
나는 그것을 사용하고있다 Microsoft.VisualStudio.TextTemplating.Engine
VS 2008 SDK의 클래스와 함께 Microsoft.Practices.RecipeFramework.VisualStudio.Library.Templates
네임 스페이스 T4 템플릿에서 C# 클래스를 작성하는 프로세스를 자동화합니다.
여기 내 코드. 그것은 예제에서 바로 가져 갔다 올레그 시크 블로그 ...
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);
이 예외는 어딘가에 구성 요소 버전 불일치가 있음을 시사합니다. 인터넷 검색 이 문제는 다른 사람이 경험했지만 훨씬 오래된 버전의 구성 요소가 사용되었음을 밝혀 냈습니다. 내 버전은 ...
비주얼 스튜디오 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의 최신 버전이 있습니다 (모두 다운로드 및 설치).
누구든지 무슨 일이 일어나고 있는지 또는 어떻게 더 조사 할 수 있는지 아는 사람이 있습니까?
가능한 경우 콜 스택을 따라 추적자를 사용하기 시작하지 않아도됩니다.
해결책
답을 찾았습니다 ...
나는 잘못된 버전을 참조했다 Microsoft.VisualStudio.TextTemplating
집회.
내 컴퓨터에 두 개의 버전이 설치되어 있습니다 ...
- 8.1.0.0
- 9.0.0.0
특정 버전 Microsoft.Practices.RecipeFramework.VisualStudio.Library
내가 사용하고 있다는 것은 두 버전의 초기를 필요로했다.