T4 TextTemplating Engine에서 ProcessTemplate 메서드를 실행하면 다음과 같은 오류가 발생하는 경우가 있다. "The type or namespace name 'Linq' does not exist in the namespace 'System' - are you missing and assembly reference? 오류 메시지에 표현된 것과 같이 컴파일을 하려고 하는데, Linq 네임스페이스를 찾을 수 없다는 문제다. 이론적으로는 System.Core.dll 의 참조가 필요한데, 참조가 되지 않았거나 다른 버전의 System 네임스페이스가 사용되고 있을 경우를 의심해 볼 필요가 있다. 당연히 T4 Template 파일에는 아래와 같이 관련된 어셈블리를 지정해 주었다. <#@ assembly name="System.Core" #> 여러 가지 경우의 수와 TextTemplating Engine의 구성을 확인해 보던 중에 Custom Template Engine Host 에 문제가 있는 것을 확인할 수 있었다. ITextTemplatingEngineHost 라는 것은 "처리 대상이 되는 텍스트 템플릿" 을 입력으로 받아서 처리된 텍스트 파일을 출력으로 반환하는 역할을 담당하는 것이다. 기본으로 제공되는 것은 "TextTemplatingFileGenerator" 다. 실제 구현한 Host에서 어셈블리 참조들을 아래의 코드와 같이 구성을 했었다. public IList<string> StandardAssemblyReferences { get { return new string[] { typeof(System.Uri).Assembly.Location , typeof(WizardDataObject).Assembly.Location, typeof(FrameworkContext).Asse...