我有一个包含tt文件的项目,对于它执行的操作,我需要使用一些第三方库。所有这些dll都被添加为包含tt文件的项目的参考。
在tt类中,我将外部dll引用为:
<#@ assembly name="Microsoft.Deployment.WindowsInstaller.Linq.dll" #>
<#@ import namespace="Microsoft.Deployment.WindowsInstaller.Linq" #>
我尝试使用完整路径,targetDir,sourceDir,在csproj中使用T4ParameterValues,但每次我在tt文件上使用“运行自定义工具”时都会收到此错误:(C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE到我的路径,无论我用什么)。
严重级代码描述项目文件行抑制状态 错误尝试编译转换代码时抛出异常。抛出以下异常: System.IO.FileNotFoundException:找不到文件'** C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE ** Microsoft.Deployment.WindowsInstaller.Linq.dll'。 文件名:'C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Microsoft.Deployment.WindowsInstaller.Linq.dll'
当我从命令
运行它时,它是有效的"C:\Program Files (x86)\Common Files\Microsoft Shared\TextTemplating\14.0\TextTransform.exe" ComponentsGuids.tt -out ComponentsGuids.cs
我只是好奇为什么它不能用于VS(我正在使用VS2015)?
我遇到的另一个问题是它不能作为Pre-Build事件工作,我希望在项目构建在发布模式时触发
if $(ConfigurationName) == Release texttransform $(ProjectDir)ComponentsGuids.tt