Oleg Sych が T4 でいくつかのコードを生成すると言ったように、私はテンプレート - ジェネレーター アーキテクトを使用しますが、Unicode の使用にはいくつかの問題があります。
これは私のファイルです: テンプレート:
<#@ assembly name="Microsoft.SqlServer.ConnectionInfo" #>
<#@ assembly name="Microsoft.SqlServer.Smo" #>
<#@ assembly name="Microsoft.SqlServer.Management.Sdk.Sfc" #>
<#@ import namespace="Microsoft.SqlServer.Management.Smo" #>
<#@ import namespace="System.Collections.Generic" #>
<#+
public class DALTable : Template
{
public override string TransformText()
{
//My Template
}
発生器:
<#@ assembly name="Microsoft.SqlServer.ConnectionInfo" #>
<#@ assembly name="Microsoft.SqlServer.Smo" #>
<#@ assembly name="Microsoft.SqlServer.Management.Sdk.Sfc" #>
<#@ include file="DALTable.tt" #>
<#+
public class TableDALGenerator : Generator
{
public DALTable DALTableTemplate = new DALTable();
protected override void RunCore()
{
this.DALTableTemplate.Table = table;
this.DALTableTemplate.RenderToFile("DAL.cs");
}
}
そしてスクリプト:
<#@ template language="C#v4" hostspecific="True" debug="True" #>
<#@ assembly name="System.Core" #>
<#@ output extension=".cs" encoding="UTF8" #>
<#@ include file="T4Toolbox.tt" #>
<#@ include file="TableDALGenerator.tt" #>
<#
TableDALGenerator TableDALGen = new TableDALGenerator();
//Pass Parameters
TableORMGen.Run();
#>
Oleg Sych が言ったように、この行でわかるように、出力に Unicode を設定しました:<#@ output extension=".cs" encoding="UTF8" #>
また、この 3 つのファイルすべてを Unicode で保存しますutf8
が、問題はまだ残っています。どこに問題がありますか? 私がそれをしなければならない他に何が残っていますか?
アップデート
新しく生成されたファイル (DAL.cs) は、UTF8
すべてがANSI
エンコードによって保存されているため、保存されていないことがわかりました。UTF8
ファイルをエンコードして保存するにはどうすればよいですか?