現在、私は、それぞれのC#プロジェクトファイルにポストビルドイベントのコピージョブ(C#で書かれたカスタムツールを使用)がある大きなレガシープロジェクトに取り組んでいます。あなたが見ることができるように環境変数をソリューションビルドステップに渡す方法
ポストビルドイベントは
"$(MyEnvVar)\_Build\_Binaries\CopyTool" "$(TargetDir)$(TargetName)" "$(MyEnvVar)\_Binaries"
のように見える、コピージョブのパスは、環境変数の値に基づいています。
ここで、上記のプロジェクトのいくつかを参照する別のソリューションを構築したいと考えています。
ビルドに環境変数が設定されていないため、ビルドが失敗します。
ビルド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のテスト
- ...(インデックス、出版、コピー、出版物)
しかし、 "MyEnvVar"の値は、VS Solution Buildステップで実行されるポストビルドイベントではアクセスできません。
VSビルドステップが、以前にTFS onPremise(ではなく、 VSO)のpowershellスクリプトで設定された値を持つことを達成するにはどうすればよいですか? PowerShellで
申し訳ありませんが、私はそれが私を助けることができる方法を理解していません – Khh
@Khh:MyEnvVarの値を渡している場所のスクリプトを提供できる場合は、それを通過するのは簡単でしょう。 –
私はこの問題を編集しました。コピージョブは、PowerShellスクリプトではなく、ツールによって実行されます。 – Khh