現在、ビルド後のイベントで、各 C# プロジェクト ファイルにコピー ジョブ (C# で記述されたカスタム ツールを使用) がある大きなレガシー プロジェクトに取り組んでいます。
ビルド後のイベントは次のようになります
"$(MyEnvVar)\_Build\_Binaries\CopyTool" "$(TargetDir)$(TargetName)" "$(MyEnvVar)\_Binaries"
ご覧のとおり、コピー ジョブのパスは環境変数の値に基づいています。
上記のプロジェクトのいくつかを参照する別のソリューションを構築したいと考えています。
ビルドに環境変数が設定されていないため、ビルドは失敗します。
Build vNext 定義のビルド ステップの順序:
SetEnv パワーシェル スクリプト
[Environment]::GetEnvironmentVariable("MyEnvVar","Process")
Write-Host 'build sources dir'
Write-Host $Env:BUILD_SOURCESDIRECTORY
[Environment]::SetEnvironmentVariable("MyEnvVar", $Env:BUILD_SOURCESDIRECTORY, "Process")
- Visual Studio ビルド ステップ
- ビジュアル スタジオ テスト
- ... (索引付け、公開、コピー、成果物の公開)
ただし、「MyEnvVar」の値は、VS ソリューション ビルド ステップによって実行されるビルド後のイベントではアクセスできません。
VS ビルド ステップに、TFS onPremise ( VSO ではなく) の powershell スクリプトで以前に設定された値があるようにするにはどうすればよいですか?