csファイルの生成にT4ツールボックスを使用しています。しかし、結果として正しいC#ファイルが生成されますが、拡張子はありません。何が問題なの?
<#@ template language="C#" hostspecific="true" debug="True" #>
<#@ output extension="txt" #>
<#@ include file="T4Toolbox.tt" #>
<#@ include file="$(ProjectDir)StoredProcedures.ttinclude" #>
<#@ include file="DB\SpGenerator.tt" #>
<#
/*
<auto-generated>
Do not change files!!
</auto-generated>
*/
var generator = new GeneratorSp();
generator.tableName = ListOfTables();
generator.Run();
#>
<#@ IntelliSenseLanguage processor="tangibleT4Editor" language="C#" #>
<#@ include file="SpTemplate.tt" #>
<#+
public class GeneratorSp : Generator
{
public string[] tableName;
protected override void RunCore()
{
var _template = new SpTemplate();
foreach(var sp in tableName)
{
_template.SpName = sp;
_template.RenderToFile(sp);
}
}
}
#>
<#@ IntelliSenseLanguage processor="tangibleT4Editor" language="C#" #>
<#@ Assembly Name="System.Core" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Data" #>
<#@ include file="DataAccess.ttinclude" #>
<#@ include file="$(ProjectDir)ModelConnectionString.ttinclude" #>
<#+
// <copyright file="SpTemplate.tt" company="">
// Copyright © . All Rights Reserved.
// </copyright>
public class SpTemplate : Template
{
public string SpName;
public override string TransformText()
{
string CONN_STRING = ConnectionString();
var data = new DataAccess(CONN_STRING);
var sp = SpName;
var pars = data.ParametersDesc(sp);
string methodParameters = data.CreateParametersDesc(sp);
#>
namespace B2BSoft.Services.Data.Generated
{
public static partial class StoredProcedures
{
public static <#= sp #>_Result <#= sp #>(<#= methodParameters #>)
{
return new <#= sp #>_Result();
}
}
}
<#+
return this.GenerationEnvironment.ToString();
}
}
#>