Доступ к переменной определения сборки TFS для скрипта powershell

Я проверил вокруг, но ничего не то, что мне нужно. Я пытаюсь преобразовать определения сборки TFS 2013 с использования пользовательских действий на использование powershell. До сих пор мне это удавалось, но я не пытаюсь запустить сборку installshield, передав сборке iscmd несколько пользовательских переменных из определения сборки, таких как Env, ProviderName, ProviderId и Edition. В моем старом сценарии я выполнил следующую команду, используя файл проекта msbuild активности RunMSbuild IIRC "/p:PATH_TO_PIPELINE=""" + BuildDirectory + """ /p:Provider=""" + PROVIDER + """ /p: Edition=" + EDITION + " /p:Env=" + ENV + " /p:ProductVersion=" + BuildDetail.BuildNumber + " /p:ProviderId=" + PROVIDERID Мне удалось настроить PATH_TO_PIPELINE и версию продукта с помощью TF. переменные, а остальные powershell не видит, не смотря на галочки, кавычки и т.д. Я использую. Идеи о том, как я могу заставить это работать? У меня есть переменная в определении сборки для всего этого.


person Devin    schedule 04.05.2015    source источник


Ответы (1)


Вам нужно установить свои переменные как пользовательские $Env:MyVeriable, чтобы иметь к ним доступ. Так работают OOB.

http://www.dotnetcurry.com/showarticle.aspx?ID=1035

person MrHinsh - Martin Hinshelwood    schedule 05.05.2015
comment
Я пробовал это, используя /p:PATH_TO_PIPELINE=$Env:TF_BUILD_SOURCESDIRECTORY/p:ProductVersion=$Env:TF_BUILD_BUILDNUMBER/p:ENVIRONMENT=$Env:ENVIRONMENT/filelogger, но весь мой скрипт возвращается с пустой переменной для Env, такой как IsCmdBld .exe -p Raptor_Basic.ism -r SINGLE_EXE_IMAGE -l PATH_TO_PIPELINE=D:\Builds\2\Raptor\Dev_TS_Raptor_Installer\src -z ProductVersion=4.0.0.1361 -z ОКРУЖАЮЩАЯ СРЕДА=. Я также попытался использовать пример в ссылке и получил ошибку PS о At + ... p:ENVIRONMENT=$(Env:ENVIRONMENT) /filelogger Неожиданный токен '$(' в выражении или операторе. - person Devin; 05.05.2015