powershell を使用して .tt ファイルを処理しようとしています。本当に近いと思いますが、ビジュアルスタジオを使用しているときに存在しないpowershellから呼び出すとエラーが発生します。
Powershell スクリプト
function DoThing
{
$inputfile = 'D:\source\62\test.tt'
[Reflection.Assembly]::LoadWithPartialName("Microsoft.VisualStudio.TextTemplating") | Out-Null
[Reflection.Assembly]::LoadFile('D:\source\62\Builder.dll') | out-null
$host = New-Object ("CustomHost.CustomCmdLineHost")
// impl ITextTemplatingEngineHost
$server = New-Object ("Microsoft.VisualStudio.TextTemplating.Engine")
$server.ProcessTemplate($inputfile, $host);
}
Simple.tt テンプレート
<#@ template language="C#" #>
<#@ output extension=".txt" #>
This content was generated from a template
in the year <#= DateTime.Now.Year.ToString() #>
Visual Studio から実行すると、.tt によってファイルが正常に生成されます
ただし、powershell から役に立たない「ErrorGeneratingOutput」を受け取ります
問題の要点は、powershell から使用するときに ITextTemplatingEngineHost を実装する方法だと思います。ここで提案を歓迎します。
ありがとう!