ASP.NET MVC 3을 사용합니다 Custom CodeTemplates 하나의 t4 파일에 몇 가지 메서드를 넣은 다음 모든 t4 템플릿에 사용해야합니다.모든 메서드를 하나의 .tt 파일에 넣고 MVC의 CodeTemplates에있는 다른 t4 파일에 사용
<#@ template language="C#" #>
<#@ assembly name="System" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.ComponentModel.DataAnnotations" #>
<#@ assembly name="System.Data" #>
<#@ assembly name="System.Data.Entity" #>
<#@ assembly name="System.Data.Linq" #>
<#@ assembly name="System.Xml.Linq" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.ComponentModel.DataAnnotations" #>
<#@ import namespace="System.ComponentModel" #>
<#@ import namespace="System.Data.Linq.Mapping" #>
<#@ import namespace="System.Data.Objects.DataClasses" #>
<#@ import namespace="System.Reflection" #>
<#@ import namespace="Microsoft.VisualStudio.Web.Mvc.Scaffolding.BuiltIn" #>
<#+
public class XXD {
public string getitNow(){
return "Yup thats it!";
}
}
#>
가 그럼 난 이렇게 create.tt 파일에서 사용 :
<#@ include file="general.tt" #>
...
<#+
private string GetitNow(){
XXD xx = new XXD();
return xx.getitNow();
}
을하지만, 내가보기를 추가 할 경우에 에러가 발생
그래서이 내 general.tt 파일입니다 템플릿 사용 :
오류 : 포함 된 파일 'general.tt'을로드하면 null 또는 빈 문자열이 반환됩니다. 변형은 실행되지 않습니다.
그래서 문제가 어디에 있습니까? 이 일을하는 당신의 제안은 무엇입니까?
올렉이 맞습니다. 두 조각을 포함시켜 MVC 전용 템플릿을 출력하는 하나의 일반 T4 템플릿을 사용하면이 문제를 해결할 수 있습니다. 즉, 템플리트를 생성하는 템플리트. 그러나 이것은 새로운 프로젝트를 처음으로 시작하는 사람들에게는 매우 친숙하지 않습니다. – GarethJ