通过Powershell Azure开发人员构建TextTransform文件

时间:2020-07-16 07:14:37

标签: azure-devops azure-pipelines t4

我只是想通过我的azure构建管道构建t4文件。我尝试了以下操作:

将以下powershell脚本添加到我的解决方案项中:

$progFilesx86Path = [System.Environment]::ExpandEnvironmentVariables("%programfiles(x86)%")
$vsWherePath = Join-Path $progFilesx86Path "\Microsoft Visual Studio\Installer\vswhere.exe"

$textTransformLocation = & $vsWherePath -latest -find **\TextTransform.exe -format value
if (-Not(Test-Path $textTransformLocation)){
    throw "Could not locate TextTransform.exe"
}

Get-ChildItem -Path .\ -Filter *.tt -r | % { 
    & "$textTransformLocation" $_.FullName  -out $_.FullName.Replace(".tt", ".cs")
}

当我使用powershell ISE调用该脚本并在项目中实际生成.cs文件时,此脚本可以正常工作,但是当我在管道中添加powershell任务以执行该脚本时,什么也没有发生。我的任务描述如下:

- task: PowerShell@2
  inputs:
    filePath: '$(System.DefaultWorkingDirectory)/test.ps1'

当我运行管道时,它实际上告诉我脚本已成功执行(它实际上还通过命令行列出了所有找到的tt文件),但是尚未创建来自tt的.cs文件。

因此,在此之后,我试图通过Visual Studio构建来构建我的文件,将以下内容添加到我的项目文件中:

  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v16.0\TextTemplating\Microsoft.TextTemplating.targets" />
<PropertyGroup>
   <TransformOnBuild>true</TransformOnBuild>
   <!-- Other properties can be inserted here -->
</PropertyGroup>

这在我本地构建时有效,但是在通过管道构建项目时也不会生成文件。

有人知道我在这里想念的是什么,或者我怎么能完成这项任务?

0 个答案:

没有答案