2009-12-08 4 views
0

우리는 T4 템플릿을 사용하는 법을 배우려하고 있습니다. 내 템플릿 내에서 일부 엔터티 모델 이름을 더 복수화하기 위해 System.Data.Entity.Design.PluralizationServices 라이브러리를 사용하고자하지만이 목표 달성에 몇 가지 문제가 있습니다.t4 템플릿에서 어떤 라이브러리를 가져올 수 있습니까?

  1. 출력 텍스트를 생성하는 코드를 실행 중입니다. 나는 이것이 가능하다고 생각하지만, 그것이 효과가 없을 것이라면 더 이상 갈 필요가 없다. (Date.Now.ToString()을 호출하여 예상 한 결과를 얻을 수 있음) 훨씬 더 복잡한 것은 아직 시도하지 않았습니다.
  2. 저는 Silverlight App에있어 프로젝트에 대한 참조를 추가 할 수 없습니다. 생성 된 .cs 파일이 필요한 곳에 PluralizationServices 라이브러리가 있습니다. .tt 파일을 비 SL 응용 프로그램으로 옮기고 네임 스페이스를 사용하여 생성 된 파일을 올바른 공간으로 옮길 계획이었습니다. 아직까지 그렇게하지 못했기 때문에, 나는 얼마나 많은 어려움이 있을지 모른다. 그러나 너무 어려워야하는 것처럼 보이지는 않는다.

내 현재의 문제는 라이브러리의 네임 스페이스를 가져올 때, 내가 "ErrorGeneratingOutput"를 얻고 나는 아직 과거에 이동하지 못하고 있다는 점이다.

가져 오기 명령이 작동하는 방식에 대한 정보를 찾는 데 어려움을 겪고 있습니다. 동시에,이 하나는 작동하지 않으므로 표준에 대한 예외인지 궁금합니다.

<#@import namespace="System.Data.Entity.Design.PluralizationServices" #> 

이 줄을 추가하면 (그리고이 줄만 추가하면) 모든 것이 깨지는 이유는 알 수 없습니다. 나는 아직 그것을 사용하려고 시도하지 않았다! 내가 알아야하거나 읽어야 할 T4의 라이브러리에 대한 뭔가가 있습니까? 감사!

답변

2

여기에서 가져 오기 지시문이 작동하는 방법은 description입니다. 사용자 환경에서 템플릿을 transofrming 할 때 실제 오류 T4를 알지 못하면 assembly 지시문을 추가하지 않은 것만으로 추측 할 수 있습니다.이 지시문은 System.Data.Entity.Design 어셈블리를 참조합니다. 그래도 작동하지 않는다면 Visual Studio의 Error List에서 T4가보고 한 오류를 살펴보십시오.이 오류는 "ErrorGeneratingOutput"보다 도움이됩니다.

+0

아하 네 말이 맞아. <# @ assembly name = "System.Data.Entity.Design"#> 을 추가하고 다른 문제를 계속 수행 할 수있었습니다. 감사합니다. 올렉! – thepaulpage

관련 문제