繁体   English   中英

从Powershell而不是Visual Studio发生T4模板错误

[英]t4 template error occurs from powershell not visual studio

我正在尝试使用Powershell处理.tt文件。 我认为它真的很接近,但是使用Visual Studio时从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,欢迎在这里提出任何建议。

谢谢!

您可以等到有人为您提供有关如何使用Microsoft T4引擎的建议,但是就我个人而言,我更喜欢直接使用Mono的开源实现,

https://github.com/mono/monodevelop/tree/master/main/src/addins/TextTemplating

编译Mono.TextTemplating和TextTransform可获得命令行实用程序TextTransform.exe。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM