目前,我正在開發一個大的遺留項目,其中每個c#項目文件都在後期構建事件中具有複製作業(使用C#編寫的自定義工具)。如何將環境變量傳遞給解決方案構建步驟(構建vNext)
後生成事件看起來像
"$(MyEnvVar)\_Build\_Binaries\CopyTool" "$(TargetDir)$(TargetName)" "$(MyEnvVar)\_Binaries"
正如你所看到的,複印作業的路徑是基於環境變量的值。
我現在想創建另一個引用上面提到的一些項目的解決方案。
構建失敗,因爲沒有爲構建設置環境變量。
在Build vNext定義構建步驟順序:
SETENV PowerShell腳本
[Environment]::GetEnvironmentVariable("MyEnvVar","Process")
Write-Host 'build sources dir'
Write-Host $Env:BUILD_SOURCESDIRECTORY
[Environment]::SetEnvironmentVariable("MyEnvVar", $Env:BUILD_SOURCESDIRECTORY, "Process")
- 的Visual Studio生成步驟
- Visual Studio的測試
- ...(指數,發佈,複製,發佈文物)
但是在VS解決方案構建步驟執行的構建後事件中無法訪問「MyEnvVar」的值。
我該如何實現VS構建步驟的值已經在TFS onPremise上的powershell腳本中設置(而不是 VSO)?
對不起,但我不明白如何可以幫助我 – Khh
@Khh:如果您可以提供腳本,在您傳遞MyEnvVar的值的位置,對我來說通過它很容易。 –
我編輯了這個問題,複製作業是由一個工具完成的,而不是一個PowerShell腳本。 – Khh