T4 템플릿에 임의 파일에 대한 종속성을 추가하는 방법은 무엇입니까?

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

  •  07-07-2019
  •  | 
  •  

문제

XML 파일에서 클래스를 생성하는 T4 템플릿이 있습니다.

xml 파일이 수정될 때 상황에 맞는 메뉴에서 "사용자 정의 도구 실행"을 선택하지 않고 템플릿이 자동으로 다시 실행되도록 xml 파일과 템플릿 파일 사이에 종속성을 추가하려면 어떻게 해야 합니까?

도움이 되었습니까?

해결책

T4가 외부 의존성을 기반으로 자동 템플릿 변환을 지원한다고 생각하지 않습니다. 나는 Marc에 동의합니다 - 외부 파일 하나만있는 경우 XML 파일에 맞춤 "사용자 정의 도구"를 만들거나 간단히 사용 할 수 있습니다. ttxgen. 그러나이 접근법은 T4 템플릿이 둘 이상의 파일에 의존하는 시나리오까지 확장되지 않는다고 생각합니다. 이를 처리하려면 Visual Studio 패키지를 만들어야 할 수도 있습니다.

다른 팁

도구를 실행하는 데 시간이 얼마나 걸리나요?한 가지 게으른 옵션은 단순히 csproj를 편집하여 언제나 빌드 중에 도구를 실행합니다(아마도 다음을 통해). <Exec ... /> 아니면 관습 targets 파일) - 물론 실행 속도가 빠른지에 따라 달라집니다.

또 다른 방법은 VS에서 "사용자 정의 도구"로 작동하는 shim을 작성하고 올바른 인수를 사용하여 기존 exe(또는 무엇이든)를 호출하는 것입니다.사소하지는 않지만 실행 가능합니다(여기를 보아라) - 나는 이것이 변경 감지와 상당히 잘 작동한다고 믿습니다.그것은 실제로 현재 프로젝트에서 해야 할 일 목록에 있으므로 곧 알게 될 것입니다...

당신이 사용할 수있는 오토트 비주얼 스튜디오 확장.

이 확장자를 사용하면 T4 템플릿을 실행하는 트리거를 구성 할 수 있습니다.

가능한 트리거 중 하나는 파일 변경입니다. Autott 페이지의 샘플 구성 파일에서 트리거의 정규 표현식은 지정된 폴더 (컨트롤러, 컨텐츠)의 모든 파일과 일치하지만 특정 파일만으로 실행되도록 변경할 수 있습니다.

쾌활한 이 작업을 수행하는 또 다른 옵션입니다. 그리고 또한 T4 재생기, 다른 방식으로 수행합니다.

사용해 보셨습니까? <#@ xsd?

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