2012-08-14 2 views
0

저는 T4 템플릿 작성 기술인이 새로운 기술을 사용하고 있습니다. 간단히 말하면 달성해야 할 것은 전자 메일의 텍스트를 생성하여 사용자가 메일 내부의 텍스트를 사용자 정의 할 수 있지만 런타임에 대체 할 "자리 표시 자"가있는 방법입니다. 이 말은 나에게 T4 런타임 템플릿이 좋은 선택이되어야한다는 것입니다. 실제로 솔루션을 배포하는 방법을 이해할 수 없다는 점을 제외하고는 charme처럼 작동합니다. 내 .tt 파일을 외부 파일 (즉, dll 파일에 포함되지 않음)로 프로덕션 서버에 배포하려면 메모장에서 해당 파일을 열 수 있도록 텍스트를 변경하십시오. 새 템플릿을 사용하여 시스템이 작동하게하십시오. T4 런타임 템플릿 배포

나는 모두 Content에 TT 파일의 빌드 작업 속성을 설정하고 Copy always 출력 속성에 복사 설정을 시도 : 첫 번째는 단순히 멀리 볼 수있는 유용한 아무것도하지 않고; 두 번째 파일은 .tt과 그 아래의 .cs 파일을 bin 폴더에 복사합니다.

깨끗한 배포를 수행 할 방법이 있습니까? .tt 파일을 편집하면 web.config 또는 그 유사 사이트를 변경할 때와 같이 응용 프로그램이 다시 시작됩니다.

+1

이것은 TT가 의미하는 것과 같지 않습니다. 전자 메일 메시지 본문이 작동하지 않는 일반적인 설정은 왜 발생합니까? – StingyJack

+0

아니요? TT는 템플릿을 컴파일 할 때와 템플릿을 런타임으로 컴파일 할 때 모두 사용할 수 있다고 생각했는데 ... 완전한 재 전개없이 템플릿의 텍스트를 바꿀 수 없다면 런타임 템플릿을 어떻게 사용할 수 있을까요? 어쩌면 내가 뭔가를 놓치고있어 ... – themarcuz

+1

런타임 동안 T4를 사용할 수 있지만 (몇 가지 예가 http://stackoverflow.com/q/2307567/16391) 지나치게 복잡한 것을 사용하는 것처럼 들리지만 해결책을 좀 더 간단한 문제로 – StingyJack

답변

0

T4에서는 지원되지 않는 시나리오입니다.

시나리오에 '고정 된'템플릿이 있지만 변수 데이터가 허용되는 경우 런타임 T4 템플릿이 좋은 해결책입니다. 그러나 T4의 실제 템플릿 제작 제품은 Visual Studio 라이선스가있는 경우에만 라이선스가 부여되며 서버 또는 모든 멀티 스레드 환경에서 실행되도록 테스트되거나 지원되지 않습니다.

이 특정 응용 프로그램에 더 적합한 더 넓은 시나리오에서 테스트되는 다른 많은 서식 파일 라이브러리가 있습니다. Microsoft는 예를 들어 Razor을 가지고 있습니다. 실제로 HTML 형식의 전자 메일을 제작하는 경우 특히 유용 할 수 있습니다. 이는 꺾쇠 괄호 (angle-bracket) 시나리오를 대상으로하며 서버에서 실행되도록 설계되었습니다.