VS 2008 SDK에서 텍스트 템플릿 엔진을 사용할 때 "진입 점을 찾을 수 없음"오류

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

  •  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 내가 사용하고 있다는 것은 두 버전의 초기를 필요로했다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top