T4 템플릿에 임의 파일에 대한 종속성을 추가하는 방법은 무엇입니까?
문제
XML 파일에서 클래스를 생성하는 T4 템플릿이 있습니다.
xml 파일이 수정될 때 상황에 맞는 메뉴에서 "사용자 정의 도구 실행"을 선택하지 않고 템플릿이 자동으로 다시 실행되도록 xml 파일과 템플릿 파일 사이에 종속성을 추가하려면 어떻게 해야 합니까?
해결책
T4가 외부 의존성을 기반으로 자동 템플릿 변환을 지원한다고 생각하지 않습니다. 나는 Marc에 동의합니다 - 외부 파일 하나만있는 경우 XML 파일에 맞춤 "사용자 정의 도구"를 만들거나 간단히 사용 할 수 있습니다. ttxgen. 그러나이 접근법은 T4 템플릿이 둘 이상의 파일에 의존하는 시나리오까지 확장되지 않는다고 생각합니다. 이를 처리하려면 Visual Studio 패키지를 만들어야 할 수도 있습니다.
다른 팁
도구를 실행하는 데 시간이 얼마나 걸리나요?한 가지 게으른 옵션은 단순히 csproj를 편집하여 언제나 빌드 중에 도구를 실행합니다(아마도 다음을 통해). <Exec ... />
아니면 관습 targets
파일) - 물론 실행 속도가 빠른지에 따라 달라집니다.
또 다른 방법은 VS에서 "사용자 정의 도구"로 작동하는 shim을 작성하고 올바른 인수를 사용하여 기존 exe(또는 무엇이든)를 호출하는 것입니다.사소하지는 않지만 실행 가능합니다(여기를 보아라) - 나는 이것이 변경 감지와 상당히 잘 작동한다고 믿습니다.그것은 실제로 현재 프로젝트에서 해야 할 일 목록에 있으므로 곧 알게 될 것입니다...
사용해 보셨습니까? <#@ xsd?